我正在研究一个ARM模板,该模板可从头开始部署整个基础架构:
在某个时候,我到达了编写脚本的部分,该脚本用于将我的App Service(稍后用于托管和部署Web应用)部署到我的资源组。在此之前,我已经在同一脚本中部署了BingMaps API。
我被困在为Web应用程序设置应用程序设置的部分:
"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]"
有人这样做过吗?提前谢谢了!干杯
答案 0 :(得分:0)
如果您想访问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.Parmeter.jso文件中,使用Bing maps查询键的值声明键 AppSetting_Key1_Value 。
指定参数值
将参数添加到ARM模板中并用于填充应用程序设置后,最后一步是在用于部署的ARM模板参数文件中定义Parameter值。在Visual Studio的Azure资源组项目模板中,默认部署的Parameters文件是以“ .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"
}
}
}
对于安全投诉解决方案,如果您不愿意在参数文件中使用密钥,则可以将所有安全密钥和连接字符串移动到Azure密钥库中。
这应该有效。希望对您有所帮助。