什么是Azure Functions?

Azure Functions是一种无服务器解决方案,它允许你在使用更少的代码的同时生成可靠的应用,以及更少的基础结构和更低的成本。 您可以使用云基础设施来提供所有最新资源,确保应用程序的持续运行,而不必担心服务器的部署和维护。

你专注于最重要的代码,使用最高效的语言为你处理其余代码,Azure Functions处理其余代码。 有关支持的语言列表,请参阅 Azure Functions 支持的语言。

场景

Functions 提供了一组全面的事件驱动触发器和绑定,无需编写额外的代码即可将函数连接到其他服务。

以下列表包括使用 Functions 的常见集成方案。

若希望... 然后...
处理文件上传 在 blob 存储中上传或更改文件时运行代码。
实时处理数据 在存储过程中从事件和 IoT 源流捕获和转换数据。
运行 AI 推理 从队列中拉取文本并将其呈现给各种 AI 服务进行分析和分类。
运行计划任务 在预定义的时间间隔上执行数据清理代码。
生成可缩放的 Web API 使用 HTTP 触发器为 Web 应用程序实现一组 REST 终结点。
构建无服务器工作流 使用Durable Functions从一系列函数创建事件驱动工作流。
响应数据库更改 在数据库中创建或更新文档时运行自定义逻辑。
创建可靠的消息系统 使用Azure 队列存储、服务总线或事件中心处理消息队列。

这些方案允许你使用现代化体系结构模式生成事件驱动的系统。 有关详细信息,请参阅 Azure Functions 应用场景

开发生命周期

Functions 支持你完成应用开发的每个阶段:

  1. C#、Java、JavaScript、PowerShell 或 Python 中进行编程,或者使用 自定义处理程序 来支持 Rust 和 Go 等语言。
  2. 在本地使用 Visual Studio、Visual Studio Code、Maven 和其他工具开发和调试
  3. Deploy到 Azure,使用 CLI、CI/CD 管道或 IDE
  4. Monitor性能并诊断使用内置的Azure Monitor 和 Application Insights集成功能时的问题。

托管选项

Functions 为业务需求和应用程序工作负荷提供了各种 托管选项

托管选项 说明
高级计划 始终暖实例,用于最快的响应时间、无限制的执行持续时间和虚拟网络集成。
专用计划 使用可预测的缩放和成本在现有应用服务计划中运行函数。
消耗计划 旧版无服务器计划(仅Windows)。 对新应用使用弹性消耗计划。

有关详细比较,请参阅Azure Functions托管选项