如何使用 arm 模板更新 azure appsettings

How to update azure appsettings with arm template

我有一个 Azure API 应用服务,其配置中有 30 多个应用设置。此应用程序服务部署在 3 个环境中,其中一些应用程序设置是跨环境通用的,而其他设置是特定于环境的。我们正在使用 Devops CD 管道部署到不同的环境。

目前在应用程序门户中手动设置 created/updated。但我希望将设置作为部署的一部分 - 在源文件或 devops CD 管道中。

我知道 Devops 有一个“Azure App Service Settings”任务,它完全符合我的要求 - 但是它的 app-settings 插槽中有 5000 个字符的限制,所以我必须为这很快变得难以管理(大量挖掘以找到特定设置)。

是否可以使用arm模板进行应用设置?或者也许还有另一种方法可以做到这一点?

我终于找到了模板所需的正确“种类”(我认为找到文档有点困难,因为我一直在 web-app 文档而不是 api 应用程序) :

"resources": [
{
  "type": "Microsoft.Web/sites/slots",
  "apiVersion": "2018-11-01",
  "name": "[parameters('MyAppName']",
  "location": "West Europe",
  "kind": "api",
  "properties": {
    "siteConfig": {
      "appSettings": [
        {
          "name": "Setting1",
          "value": "Setting1Value"
        }
      ]
    }
  }
}

]

然后我使用 Devops 为每个环境设置参数值