You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ARM模板的siteConfig中使用Appsetting_For_Fun_App参数?

ARM模板中Object类型参数转Function App AppSettings格式解决方案

要将Object类型的Appsetting_For_Fun_App参数转换为Function App所需的{name, value}格式数组,直接借助ARM模板内置的keys()函数和for循环遍历即可实现,以下是具体实现步骤和代码示例:

1. 确认参数定义

确保你的参数是标准的Object类型,示例定义如下:

"parameters": {
  "Appsetting_For_Fun_App": {
    "type": "object",
    "defaultValue": {
      "APPINSIGHTS_KEY": "[reference(resourceId('Microsoft.Insights/components', 'my-app-insights')).InstrumentationKey]",
      "CUSTOM_SETTING_1": "StaticValue",
      "CUSTOM_SETTING_2": "[parameters('externalParam')]"
    },
    "metadata": {
      "description": "自定义的Function App配置键值对"
    }
  }
}

2. 在Function App资源中转换并注入AppSettings

在Function App的properties.siteConfig.appSettings数组中,通过for循环遍历参数的所有键,将每个键值对转换为要求的格式,同时可保留原有固定配置:

"resources": [
  {
    "type": "Microsoft.Web/sites",
    "apiVersion": "2022-03-01",
    "name": "[variables('functionAppName')]",
    "location": "[resourceGroup().location]",
    "dependsOn": [
      "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]"
    ],
    "properties": {
      "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]",
      "siteConfig": {
        "appSettings": [
          // 原有固定配置项
          {
            "name": "FUNCTIONS_EXTENSION_VERSION",
            "value": "~4"
          },
          {
            "name": "FUNCTIONS_WORKER_RUNTIME",
            "value": "dotnet"
          },
          // 转换Object参数为AppSettings格式
          "[for (key, index) in keys(parameters('Appsetting_For_Fun_App')): {
            'name': key,
            'value': parameters('Appsetting_For_Fun_App')[key]
          }]"
        ]
      }
    }
  }
]

关键说明

  • keys(parameters('Appsetting_For_Fun_App')):获取Object参数的所有键名,返回一个字符串数组
  • for (key, index) in ...:遍历键数组,每个键对应生成一个{name, value}对象,其中value直接通过parameters('Appsetting_For_Fun_App')[key]获取对应的值
  • 该方法会自动处理参数中的动态值(比如引用其他资源的属性、嵌套参数等),无需额外处理
  • 如果参数可能为空,建议给Appsetting_For_Fun_App设置defaultValue: {},避免遍历空对象报错

内容的提问来源于stack exchange,提问作者microset

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:15:40