Azure Functions 概述
Azure Functions 是一种无服务器解决方案,可以使用户减少代码编写、减少需要维护的基础结构并节省成本。 无需担心部署和维护服务器,云基础结构提供保持应用程序运行所需的所有最新资源。
你可以专注于使用你认为最高效的语言编写最重要的代码,而 Azure Functions 处理其余代码。
为了获得 Functions 文档的最佳体验,请从文章顶部的本机 Functions 语言列表中选择首选开发语言。
方案
Functions 提供了一组全面的事件驱动触发器和绑定,无需编写额外的代码即可将函数连接到其他服务。
以下是一组常见但并非详尽的以 Functions 为特色的集成方案。
若希望... | 然后... |
---|---|
处理文件上传 | 在 blob 存储中上传或更改文件时运行代码。 |
实时处理数据 | 在存储过程中从事件和 IoT 源流捕获和转换数据。 |
根据数据模型推理 | 从队列中拉取文本并将其呈现给各种 AI 服务进行分析和分类。 |
运行计划任务 | 按照预定义的时间间隔执行数据清理代码。 |
生成可缩放的 Web API | 使用 HTTP 触发器为 Web 应用程序实现一组 REST 终结点。 |
构建无服务器工作流 | 使用 Durable Functions 从一系列函数创建事件驱动的工作流。 |
响应数据库更改 | 在 Azure Cosmos DB 中创建或更新文档时,运行自定义逻辑。 |
创建可靠的消息系统 | 使用队列存储、服务总线或事件中心处理消息队列。 |
这些方案允许你使用现代化体系结构模式生成事件驱动的系统。 有关详细信息,请参阅 Azure Functions 方案。
开发生命周期
使用 Functions,可以使用喜欢的开发工具以首选语言编写函数代码,然后将代码部署到 Azure 云。 Functions 为使用 C#、Java、JavaScript、PowerShell、Python 进行开发提供本机支持,并且提供使用更多语言(如 Rust 和 Go)的功能。
Functions 直接与 Visual Studio、Visual Studio Code、Maven 和其他常用开发工具集成,可启用无缝调试和部署。
Functions 还与 Azure Monitor 和 Azure Application Insights 集成,对云中的函数提供全面的运行时遥测和分析。
托管选项
Functions 为业务需求和应用程序工作负载提供多种托管选项。 事件驱动的缩放托管选项的范围从只需为执行时间付费的完全无服务器(消耗计划)到始终为最快响应时间做好准备的热实例(高级计划)。
如果应用服务托管资源过多,可以在现有的应用服务计划中托管函数。 需要从函数中获得可预测的缩放行为和成本时,这种专用托管计划也是不错的选择。
如果想要完全控制函数运行时环境和依赖项,甚至可以将函数部署在能够完全自定义的容器中。 自定义容器可由 Functions 托管,部署为 Azure 容器应用中微服务体系结构的一部分,甚至可以在 Kubernetes 中自承载。