我正在开发一个ARM模板,从头开始部署整个基础架构:
在某些时候,我到了我编写脚本的部分,用于部署我的App Service(以便稍后托管和部署我的Web应用程序)到我的资源组。在此之前,我将BingMaps API部署在同一个脚本中。
我被困在我为我的网络应用程序设置应用程序设置的部分:
"type": "Microsoft.Web/sites",
"properties": {
"siteConfig": {
"appSettings": [
{
"name": "SomeKey",
"value": "SomeValue"
}, //rest of the code omitted
我想知道如何在ARM模板中检索我的BING MAPS查询键?
我试过了,感觉这可能接近它,比如:
"value": "[reference(resourceId('Microsoft.BingMaps/mapApis', variables('bingMapsName')), '2016-08-18').queryKey]"
以前做过这个的人呢?提前谢谢了!干杯
如果您想在ARM模板中访问用于Web应用程序设置的查询密钥,我建议您使用以下内容:
{
"name": "appsettings",
"type": "config",
"apiVersion": "2015-08-01",
"dependsOn": [
"[concat('Microsoft.Web/sites/', variables('webSiteName'))]"
],
"tags": {
"displayName": "WebAppSettings"
},
"properties": {
"key1": "[parameter('AppSetting_Key1_Value')]",
"key2": "value2"
}
}
然后在您的template.Parameter.json文件中,您可以使用Bing地图查询键的值声明关键AppSetting Key1值。
指定参数值
将参数添加到ARM模板并将其用于填充应用程序设置后,最后一步是在用于部署的ARM模板参数文件中定义参数值。在Visual Studio中的Azure资源组项目模板中,默认部署的参数文件是以“.parameters.json”结尾的文件。以下是本系列前几篇文章中创建的“WebSite.parameters.json”文件的屏幕截图,其中“AppSetting_Key1_Value”参数设置为一个值:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"hostingPlanName": {
"value": "WebApp1HostingPlan"
},
"WebApplication1PackageFolder": {
"value": "WebApplication1"
},
"WebApplication1PackageFileName": {
"value": "package.zip"
},
"WebApp_ConnString1": {
"value": "Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;"
},
"AppSetting_Key1_Value": {
"value": "Template Value 1"
}
}
}
对于安全投诉解决方案,如果您不熟悉param文件中的密钥,则可以将所有安全密钥和连接字符串移动到Azure密钥保管库。
这应该工作。希望能帮助到你。