我的 .net core azure 函数应用程序的 local.settings.json 文件中有大约 20 多个(并且还在不断增加)应用程序设置。在部署过程中将这些添加到门户中的函数应用程序的唯一方法是使用键值格式的所有应用程序设置的长连接字符串,这非常困惑、容易出错且难以维护。
我正在寻找一种简洁的方法(如果可能)将应用程序设置添加到函数应用程序,作为函数应用程序部署过程的一部分。
附注我正在使用 terraform 创建函数应用程序,对使用更困惑的 ARM 模板解决方案不感兴趣。
最佳答案
如果您想要将应用设置添加到函数应用作为函数应用部署任务的一部分。您可以使用变量来使其更容易维护。您可以检查以下步骤。
您还可以在 YAML 文件中定义变量:
variables:
key1: value1
key2: value2
然后再引用应用服务部署任务的appsettings字段中的变量
- task: AzureRmWebAppDeployment@4
inputs:
AppSettings: '-key1 $(key1) -key2 $(key2)'
另一个解决方法是使用 Azure App Service Settings task 将应用设置添加到函数应用。 (如果应用服务设置任务用于添加appsettings,则不需要为应用部署任务定义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
}
因此,通过使用上述解决方法,您只需更改管道变量中的值即可更改函数应用程序的应用程序设置。
您还可以使用 terraform 将应用程序设置添加到函数应用程序。详细步骤请查看本教程Automating infrastructure deployments in the Cloud with Terraform and Azure Pipelines .
关于azure - 如何使用 azure devops 应用服务部署任务将函数应用设置部署到 azure 函数应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61598490/