如何在Azure Function App的ARM模板中正确配置connectionStrings
正确ARM模板配置Function App连接字符串的方法
你当前配置不生效的核心原因是将connectionStrings和appSettings直接放在了Microsoft.Web/sites资源的properties根节点下,这两类配置都必须嵌套在properties下的siteConfig对象中才会被Azure识别,同步到门户的连接字符串板块。
以下是修正后的完整配置示例:
{ "type": "Microsoft.Web/sites", "apiVersion": "2016-08-01", "name": "[parameters('functionAppName')]", "location": "[parameters('location')]", "kind": "functionapp", "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]", "siteConfig": { "appSettings": [ { "name": "WEBSITE_WEBDEPLOY_USE_SCM", "value": "false" }, { "name": "XDT_MicrosoftApplicationInsights_BaseExtensions", "value": "disabled" }, { "name": "XDT_MicrosoftApplicationInsights_Mode", "value": "default" } ], "connectionStrings": [ { "name": "DefaultConnection", "connectionString": "[concat('Server=tcp:',reference(parameters('ccc_app_sqlserver_name')).fullyQualifiedDomainName,',1433;Initial Catalog=',parameters('ccc_app_db_name'),';Persist Security Info=False;User ID=',reference(parameters('ccc_app_sqlserver_name')).administratorLogin,';Password=',parameters('sqlserver_admin_password'),';MultipleActiveResultSets=true;Persist Security Info=true')]", "type": "SQLAzure" // 可选配置:标记为槽位专属配置,槽位交换时不会跟随迁移 // "slotSetting": true } ] } } }
补充说明
type字段可选值包含SQLAzure、SQLServer、MySql、PostgreSQL、Custom等,和你实际使用的数据库类型匹配即可,你当前使用的SQLAzure是合法值- 如果你是为Function App的部署槽位配置连接字符串,配置结构完全一致,只需要将上述配置写在对应槽位资源的
properties.siteConfig节点下即可
内容的提问来源于stack exchange,提问作者Alex Gordon
相关产品推荐
相关产品推荐

