SuperAPI AI 工具集

azure-webapp-config

部署与运维

查看项目

更新于 10-15 10:33

技能介绍

用途

Azure WebApp Config 是一个共享技能,专门用于管理 Azure App Service 的应用设置(appsettings)。它面向需要在多个仓库之间统一维护 Azure Web Apps 环境变量的场景,帮助开发者以可复用、可预览的方式添加、更新或删除应用设置。

主要能力

  • 支持每次运行操作一个或多个应用。
  • 支持来自 references/profiles.tsv 的仓库专属配置档案(profiles)。
  • 支持通过 --app 与 --resource-group 直接指定目标,无需使用档案。
  • 支持使用 --set KEY=VALUE(可重复)暂存设置。
  • 支持使用 --env-file <path> 从文件暂存设置。
  • 支持 --dry-run 先预览变更,再正式应用。
  • 支持 --restart 在设置更新后强制重启应用。
  • 支持使用 Key Vault 引用值处理类密钥设置,避免将原始密钥直接写入 appsettings。

使用方式

首先选择目标方式:

  • 使用 --profile <name> 指定已知的仓库/应用组。
  • 使用 --app <name> --resource-group <rg> 指定临时目标。

然后通过以下一种或两种方式暂存设置:

  • --set KEY=VALUE(可重复)
  • --env-file <path>

建议先使用 --dry-run 运行,确认无误后再去掉 --dry-run 正式应用。可选添加 --restart 在设置更新后强制重启应用。

对于类密钥设置,使用 Key Vault 引用值:

@Microsoft.KeyVault(SecretUri=https://<vault>.vault.azure.net/secrets/<secret-name>/)

不要将原始密钥值直接写入 appsettings。

命令示例

列出可用档案:

python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py --list-profiles

通过档案应用设置:

python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py
--profile win-backend
--set EXAMPLE_FLAG=true
--dry-run

通过档案应用 Key Vault 引用:

python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py
--profile win-backend
--set "EXAMPLE_SECRET=@Microsoft.KeyVault(SecretUri=https://kv-shared-repos.vault.azure.net/secrets/win--example-secret/)"
--dry-run

通过显式应用目标应用设置:

python3 .agents/skills/azure-webapp-config/scripts/set_appsettings.py
--app aipodcasting-app
--resource-group aipodcasting
--set FEATURE_X=true

适用场景

  • 在多个仓库中统一管理 Azure Web Apps 的环境变量。
  • 需要为不同仓库或应用组维护可复用的配置档案。
  • 需要以可预览、可回滚的方式批量更新应用设置。
  • 需要在更新设置后自动重启应用。
  • 需要以 Key Vault 引用方式安全地管理类密钥设置。

限制

  • 该技能仅管理 Azure appsettings。
  • 仓库专属的后续步骤(例如重建 Modal secrets)应保留在仓库本地的包装技能中。
  • 密钥不应保存在 git 跟踪的文件中。
  • --env-file 功能强大,应避免将 .env 文件盲目地提供给生产应用。