繁体   English   中英

使用 Azure CLI 将 Azure 标签参数传递给 Bicep 模板

[英]Passing an Azure tag parameter to a Bicep template using Azure CLI

我正在寻找一个关于如何将动态标签传递给二头肌部署的工作示例。 我目前正在使用单个标签进行测试,但如果我能让它正常工作,我将在每次部署时使用多个标签。

这是二头肌文件:

param tagValues object = {}
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: 'storage123x01'
  location: westeurope
  tags: tagValues
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
  allowBlobPublicAccess: false
  networkAcls: {
    defaultAction: 'Deny'
    }
  }
}

我可以将二头肌模板上的 tagValues 参数更改为以下内容并且它有效:

param tagValues object = {
  commonTag1: 'commonValue1'
}

但是,由于标签在部署期间取决于多个因素,因此在通过 Azure CLI 在 AzDO 上部署资源时,我需要一种动态分配的方法,而不是在模板上对其进行硬编码。 这就是我的 Azdo 任务的样子(出于概念证明的目的,我对标签进行了硬编码):

- task: AzureCLI@2
  displayName: "Create Storage Account" 
  inputs:
    azureSubscription: $(SPN)
    scriptType: 'ps'
    scriptLocation: 'inlineScript'
    inlineScript: |
      az deployment group create `
      --resource-group $(resourceGroup) `
      --template-file $(storageAccountTemplate) `
      --parameters `
        tagValues="commonTag2`:` 'commonValue2'"

我尝试了很多事情,但我找不到任何成功并且几乎用尽了我的知识。

请问有人知道如何实现吗?

谢谢。

感谢您确认@Clumsyhands

基于此MICROSOFT DOCUMENTATION将多个标签添加到存储帐户/或任何资源,为了更好的方法,我们可以将它们指定到一个变量中,然后在部署中传递相同的参数,如下面提到的 cli cmdlts所示;

$tags="{'Owner':'Contoso','Cost Center':'2345-324'}"
az deployment group create --name addstorage  --resource-group myResourceGroup \
--template-file $bicepFile \
--parameters resourceName=abcdef4556 resourceTags=$tags

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM