.net核心天蓝色功能应用程序的local.settings.json文件中有大约20多个(并且正在不断增长)应用程序设置。将这些作为门户的一部分添加到门户中的功能应用程序的唯一方法是使用键值格式的所有应用程序设置的长串字符串,该字符串非常混乱,容易出错且难以维护。
我正在寻找一种可能的方法,以将功能设置添加到功能应用程序中,作为功能应用程序部署过程的一部分。
P.S。我正在使用terraform创建功能应用,而对使用更混乱的ARM模板解决方案不感兴趣。
答案 0 :(得分:1)
如果要作为功能应用程序部署任务的一部分将应用程序设置添加到功能应用程序中。您可以使用变量使其更易于维护。您可以检查以下步骤。
您还可以在YAML文件中定义变量:
variables:
key1: value1
key2: value2
然后在应用程序服务部署任务的appsettings字段中引用变量
- task: AzureRmWebAppDeployment@4
inputs:
AppSettings: '-key1 $(key1) -key2 $(key2)'
另一种解决方法是使用 Azure App Service Settings task 将应用设置添加到功能应用中。 (如果使用“应用服务设置”任务添加应用设置,则无需为应用部署任务定义appSettings字段)
- task: AzureAppServiceSettings@0
displayName: Azure App Service Settings
inputs:
azureSubscription: $(azureSubscription)
appName: $(FunctionApp_Name)
appSettings: |
[
{
"name": "key1",
"value": "$(Key1)",
"slotSetting": false
},
{
"name": "key2",
"value": "$(Key2)",
"slotSetting": false
},
{
"name": "MYSQL_DATABASE_NAME",
"value": "$(DB_Name)",
"slotSetting": false
}
因此,通过使用上述替代方法,您只需更改管道变量中的值即可更改功能app的应用设置。
您还可以使用terraform向功能应用程序添加应用程序设置。请查看本教程Automating infrastructure deployments in the Cloud with Terraform and Azure Pipelines中的详细步骤。
答案 1 :(得分:1)