Azure Functions 概述
Azure Functions 支持在 Microsoft Azure 上进行无服务器计算。可构建事件驱动的应用程序,具备自动缩放能力,可灵活绑定到各类 Azure 服务,并通过 Application Insights 提供集成监控。
适用场景
- HTTP API 与 Webhook
- 消息驱动处理(Service Bus、Event Hub)
- 定时任务与 CRON 表达式
- 文件与 Blob 处理
- 基于队列的工作流
- 实时数据处理
- 微服务与后端逻辑
- 与 Azure 生态服务集成
快速开始
最小可用示例:
安装 Azure Functions Core Tools
curl https://aka.ms/install-artifacts-ubuntu.sh | bash
登录 Azure
az login
创建资源组
az group create --name myapp-rg --location eastus
创建存储账户(Functions 必需)
az storage account create
--name myappstore
--location eastus
--resource-group myapp-rg
--sku Standard_LRS
创建 Function App
az functionapp create
--resource-group myapp-rg
--consumption-plan-location eastus
--runtime node
--runtime-version 18
--functions-version 4
--name myapp-function
--storage-account myappstore
(完整实现请参见参考指南)
参考指南
references/ 目录中包含详细实现:
- 使用 Azure CLI 创建 Azure Function
- Azure Function 实现(Node.js)
- 使用 Terraform 部署 Azure Functions
- 函数绑定配置
最佳实践
✅ 应做
- 为 Azure 服务使用托管标识(managed identity)
- 将机密存储在 Key Vault 中
- 启用 Application Insights
- 实现幂等函数
- 对长时间运行的操作使用 Durable Functions
- 处理异常与失败
- 监控函数执行
- 使用绑定而非 SDK 调用
❌ 不应做
- 在代码或配置中存储机密
- 忽略 Application Insights
- 创建没有错误处理的函数
- 使用阻塞操作
- 不使用 Durable Functions 却创建长时间运行的函数
- 忽略监控与日志记录