0

タスクを使用してAzureKeyVault、Key Vault からシークレットを取得しています。シークレットの名前はStorageAccountKey. この名前は変数に格納されますKeyName。私はそのようにします

- task: AzureKeyVault@1
  displayName: 'Get key'
  name: GetKey
  inputs:
    azureSubscription: '${{ parameters.azureSubscription }}'
    KeyVaultName: '$(KeyVaultName)'
    SecretsFilter: '$(KeyName)'

さて、後続のタスクで、シークレットにアクセスしたいと思います。シークレットの名前自体が変数に格納されている場合、どうすればよいでしょうか? 以下は動作しないようです

- task: Bash@3
  displayName: Create container
  inputs:
    targetType: 'inline'
    script: |
      az storage container create \
          --name raw \
          --account-name storageaccountname \
          --account-key $($(dataLakeAccountKeyKeyName))
    failOnStderr: true

エラーが発生します

/mnt/azp/azp-linux1_5/_temp/6719378a-b3ee-45d8-aad8-4f6a5e8b581e.sh: line 1: StorageAccountKey: command not found
ERROR: az storage container create: error: argument --account-key: expected one argument

したがって、内部変数を解決しているように見えますが、それでも失敗します。

4

2 に答える 2