Azure Functions是一种无服务器解决方案,它允许你在使用更少的代码的同时生成可靠的应用,以及更少的基础结构和更低的成本。 您可以使用云基础设施来提供所有最新资源,确保应用程序的持续运行,而不必担心服务器的部署和维护。
你专注于最重要的代码,使用最高效的语言为你处理其余代码,Azure Functions处理其余代码。 有关支持的语言列表,请参阅 Azure Functions 支持的语言。
场景
Functions 提供了一组全面的事件驱动触发器和绑定,无需编写额外的代码即可将函数连接到其他服务。
以下列表包括使用 Functions 的常见集成方案。
| 若希望... | 然后... |
|---|---|
| 处理文件上传 | 在 blob 存储中上传或更改文件时运行代码。 |
| 实时处理数据 | 在存储过程中从事件和 IoT 源流捕获和转换数据。 |
| 运行 AI 推理 | 从队列中拉取文本并将其呈现给各种 AI 服务进行分析和分类。 |
| 运行计划任务 | 在预定义的时间间隔上执行数据清理代码。 |
| 生成可缩放的 Web API | 使用 HTTP 触发器为 Web 应用程序实现一组 REST 终结点。 |
| 构建无服务器工作流 | 使用Durable Functions从一系列函数创建事件驱动工作流。 |
| 响应数据库更改 | 在数据库中创建或更新文档时运行自定义逻辑。 |
| 创建可靠的消息系统 | 使用Azure 队列存储、服务总线或事件中心处理消息队列。 |
这些方案允许你使用现代化体系结构模式生成事件驱动的系统。 有关详细信息,请参阅 Azure Functions 应用场景。
开发生命周期
Functions 支持你完成应用开发的每个阶段:
- 在 C#、Java、JavaScript、PowerShell 或 Python 中进行编程,或者使用 自定义处理程序 来支持 Rust 和 Go 等语言。
- 在本地使用 Visual Studio、Visual Studio Code、Maven 和其他工具开发和调试。
- Deploy到 Azure,使用 CLI、CI/CD 管道或 IDE。
- Monitor性能并诊断使用内置的Azure Monitor 和 Application Insights集成功能时的问题。
托管选项
Functions 为业务需求和应用程序工作负荷提供了各种 托管选项 。
| 托管选项 | 说明 |
|---|---|
| 高级计划 | 始终暖实例,用于最快的响应时间、无限制的执行持续时间和虚拟网络集成。 |
| 专用计划 | 使用可预测的缩放和成本在现有应用服务计划中运行函数。 |
| 消耗计划 | 旧版无服务器计划(仅Windows)。 对新应用使用弹性消耗计划。 |
有关详细比较,请参阅Azure Functions托管选项。