首页 > 解决方案 > 如何从 YAML 文件传递​​ Azure ARM 模板对象值?

问题描述

Azure ARM 模板 parameter.json 文件具有以下对象属性。

  "appInsightsObject": {
        "value": {
            "name": "appInsghtName",
            "id": "appInsgID"
        }
    }

我必须从 build.yaml 文件中替换这些值。我的 build.yaml 文件有以下内容

  - task: AzureResourceManagerTemplateDeployment@3
    displayName: APIM Development CI
    inputs:
      ConnectedServiceName: My-Service-Name
      subscriptionName: My-Subs-Values
      resourceGroupName: My-Rg-Name
      location:$(locationName)
      csmFile: template.json
      csmParametersFile: parameters.json
      overrideParameters: '-appInsightsObject.name $(appInsightNameValue) '

如何传递 appInsightsObject 对象值?

更新:

我找到了一种将值作为 JSON 对象传递的方法,例如 '{"name":"name-goes-here", "id":"id-value-goes-here"}'。有没有更好的选择?

overrideParameters: '-appInsightsObject $(appInsightValue) '

标签: azure-devopsyamlazure-pipelinesazure-resource-manager

解决方案


这个工作并允许为任何类型的对象单独存储值。

overrideParameters: '-appInsightsObject {"name": "$(dev.insightName)","id": "$(dev.insightId)"} '

推荐阅读