タスクを使用して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
したがって、内部変数を解決しているように見えますが、それでも失敗します。