首页 > 解决方案 > 无法使用 | AzureFunctionApp appSettings 中的字符:

问题描述

我在AzureFunctionApp@1部署任务中设置了大量 appSettings - 但是每当我尝试使用 |字符将每个设置放在新行时,我都会收到错误消息:

##[error]Error: Failed to update App service '{{functionName}}' application settings. Error: BadRequest - Parameter name cannot be empty. (CODE: 400)

上面的输出似乎表明它确实使用空参数名称构建了 JSON。但我不知道为什么?我已经在单独的行上测试了值,并且仍然在一行中,所以这些都不起作用:

appSettings: |
  '-Values:Setting1 "$(SettingVal1)"
  -Values:Setting2 "$(SettingVal2)"'
appSettings: |
  '-Value:Setting1 "$(SettingVal1)" -Values:Setting2 "$(SettingVal2)"'

但这确实:

appSettings: '-Value:Setting1 "$(SettingVal1)" -Values:Setting2 "$(SettingVal2)"'

我也试过没有'- 但这也没有什么区别。

标签: azure-devopsyamlazure-functions

解决方案


根据您的反馈 - 将我的评论转换为答案,也在我的系统中本地尝试。

多行 json输入适用于在应用程序设置中设置多个值,因为这是最接近的方式。

appSettings: |
     [
       {
         "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
         "value": "$(Key)",
         "slotSetting": false
       },
       {
         "name": "MYSQL_DATABASE_NAME",
         "value": "$(DB_Name)", 
         "slotSetting": false
       }
     ]

推荐阅读