SuperAPI AI 工具集

azure-functions-devsec

部署与运维

查看项目

更新于 10-23 02:19

技能介绍

用途

Azure Functions 用于在 Azure 上构建和部署无服务器应用程序。当需要事件驱动、可自动伸缩至零的计算资源,或构建 API、Webhook、后台处理管道,以及响应 Azure 服务事件(如 Blob 存储、Service Bus、Cosmos DB 变更)时,可使用本技能。也适用于实现轻量级微服务或定时任务,并希望按执行次数计费而无需管理服务器。

主要能力

  • 函数应用创建:支持 Consumption 计划(按执行付费)与 Premium 计划(VNet 集成、无冷启动)。
  • 触发器与绑定配置:涵盖 HTTP 触发器、Blob 触发器、Timer 触发器、Service Bus 队列触发器、Cosmos DB 输出绑定、Cosmos DB 变更源触发器等,提供 Python 与 Node.js 示例。
  • 本地开发:使用 Core Tools 初始化项目、创建函数模板、本地运行与测试。
  • 部署:支持 Core Tools 发布、ZIP 包部署、GitHub Actions CI/CD,以及部署槽(staging/production)的创建、测试、交换与回滚。
  • 应用设置与安全:配置应用设置、槽特定设置、托管标识、CORS、最低 TLS 版本、Application Insights。
  • 基础设施即代码:提供 Terraform 配置示例。
  • 故障排查:列出常见症状、原因与修复方法。

使用方式

前置条件:安装 Azure CLI(需组织批准的已验证签名包),安装 Azure Functions Core Tools v4(npm install -g azure-functions-core-tools@4),验证安装(func --version),登录(az login、az account set --subscription "my-subscription-id"),创建资源组与存储账户。

创建函数应用:使用 az functionapp create 命令,指定资源组、计划、运行时、版本、名称、存储账户与操作系统类型。

本地开发:func init MyFunctionProject --python 初始化项目,func new 创建函数,func start 本地运行,curl 测试。

部署:func azure functionapp publish 发布,或使用 ZIP 包、GitHub Actions。部署槽通过 az functionapp deployment slot 命令管理。

适用场景

  • 需要自动伸缩至零的事件驱动计算。
  • 构建 API、Webhook 或后台处理管道。
  • 按执行计费、无需管理服务器。
  • 响应 Azure 服务事件(Blob 存储、Service Bus、Cosmos DB 变更)。
  • 实现轻量级微服务或定时任务。

限制

  • 基础设施命令可能中断服务:在变更状态前需确认目标主机/范围,并准备备份或快照。
  • 仅文档导入:上游脚本与模板未随附。
  • 冷启动延迟、触发器不触发、Python 模块未找到、HTTP 401、Blob 触发器不触发、Timer 触发器运行两次、部署槽交换失败、内存不足等常见问题需按故障排查表处理。