如何在Azure资源组模板中检索Bing Maps API for Enterprise的查询密钥?

问题描述 投票:0回答:1

我正在开发一个ARM模板,从头开始部署整个基础架构:

  1. 资源组
  2. 应用服务计划
  3. 应用见解
  4. 等等...

在某些时候,我到了我编写脚本的部分,用于部署我的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]"

以前做过这个的人呢?提前谢谢了!干杯

json azure-devops bing-maps azure-resource-manager
1个回答
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.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密钥保管库。

这应该工作。希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.