azure 如何使用二头肌模板部署的返回参数?

t3psigkw  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(208)

我目前尝试使用CLI任务的返回属性,该任务为日志分析工作区部署二头肌模板,这是通过以下方式完成的:
output logAnalyticsWorkspaceResourceId string = logAnalyticsWorkspace.id任务的类型为:AzureCLI@2的名称为:日志工作空间
在类型AzureCLI@2的下一个任务中,我想将www.example.com传递logAnalyticsWorkspace.id给存储帐户的创建,但是我找不到正确的语法来完成此操作。在某个点上,我读到我应该用途:LogWorkSpace.logAnalyticsWorkspaceResourceId,但此项保持为空。
如有任何帮助,我们将不胜感激。

piah890a

piah890a1#

在Azure Pipeline中,Azure cli任务返回的bicep模板参数不能直接用于下一个任务,只能作用于当前任务。
要将参数值传递到下一个任务,需要使用logging命令将该值另存为Pipeline变量。
例如:

echo "##vso[task.setvariable variable=customvariablename;]parametervalue"

然后,您可以在接下来的任务中使用管道值$(customvariablename)。
以下是Azure CLI任务示例:

steps:
- task: AzureCLI@2
  displayName: 'Azure CLI '
  inputs:
    azureSubscription: azure
    scriptType: ps
    scriptLocation: inlineScript
    inlineScript: |
     
         az deployment group create xxx
         
         $out = az deployment group show -g $(resourceGroup) -n azuredeploy | convertfrom-json | foreach properties | foreach outputs
         
         $provisionOutputs = [PSCustomObject]@{}
         $out | Get-Member -MemberType NoteProperty | ForEach-Object {
         
                $name = $_.name
                $provisionOutputs | Add-Member -MemberType NoteProperty -Name $name -value $out.$name.value
                Write-Host "##vso[task.setvariable variable=$($name);isOutput=true]$($out.$name.value)"
        }

有关详细信息,请参阅以下文档:Set variables in scripts

相关问题