【发布时间】:2021-09-13 18:31:03
【问题描述】:
parameters:
- name: AzureSubscription
default: 'abc'
- name: BlobName
type: string
default: ""
stages:
- stage: MyStage
displayName: 'My Stage'
variables:
- name: sas
jobs:
- job: ABC
displayName: ABC
steps:
- task: AzureCLI@2
displayName: 'XYZ'
inputs:
azureSubscription: ${{ parameters.AzureSubscription }}
scriptType: pscore
arguments:
scriptLocation: inlineScript
inlineScript: |
$sas=az storage account generate-sas --account-key "mykey" --account-name "abc" --expiry (Get-Date).AddHours(100).ToString("yyyy-MM-dTH:mZ") --https-only --permissions rw --resource-types sco --services b
Write-Host "My Token: " $sas
- task: PowerShell@2
inputs:
targetType: 'filepath'
filePath: $(System.DefaultWorkingDirectory)/psscript.ps1
arguments: >
-Token "????"
-BlobName "${{parameters.BlobName}}"
displayName: 'some work'
在这个 Azure Devops yaml 中,我创建了 2 个任务。 AzureCLI@2 和 PowerShell@2
在 AzureCLI@2 中,我在 $sas 变量中获得了价值。 Write-Host 确认了这一点,但 $sas 没有作为参数传递给 PowerShell@2 powershell 文件作为参数。
"${{parameters.BlobName}}" 工作正常。在 powershell 中,我能够读取该值。
如何传递sas变量值?
试过了
-令牌 $sas # 无效
-Token "${{sas}}" # 无效
【问题讨论】:
标签: azure powershell azure-devops