azure-devops - 使用存储在 Azure Pipelines 中另一个变量中的变量名称
问题描述
我正在使用该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
因此,它似乎确实解决了内部变量,但仍然失败。
解决方案
我也努力完成这项工作,这对我有用:
steps:
- task: AzureKeyVault@1
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
KeyVaultName: ${{ parameters.azureKeyVaultName }}
SecretsFilter: '*'
RunAsPreJob: true
- bash: |
#I can now use ${GCP_CREDS}
displayName: GCP auth
env:
GCP_CREDS: $(${{ parameters.azureKeyVaultCredentailsKey }})
推荐阅读
- java - 如何在原型作用域bean上应用spring aop方面
- .net - NodaTime 2.x 与 3.x 中的午夜转换
- javascript - 在多步表单上渲染 Livewire 组件中的条纹元素
- jestjs - 为什么 Jest 在没有抛出异常的情况下说有断言调用?
- python - 使用 Pandas 移动平均 2 天跨度
- c - c程序在文件被拖入exe时读取文件名
- performance - 关于“日期”的高效 Firestore 查询
- php - 显示结果按 3 分组的表格
- c - execvp 后返回成功信息?
- android - 当我打开 android studio 时,它说“缺少必要的插件:org.jetbrains.android 请从头开始重新安装 Android Studio。”