簡體   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