在 Azure DevOps 管道中使用名称中的破折号访问 Key Vault 值
Access Key Vault value with dash in name in Azure DevOps pipeline
我有一个 devops yaml 管道,它利用 terraform 创建我的 Azure 资源。它会创建一个数据库、一个密钥保管库,然后为 sql 数据库连接字符串向密钥保管库添加一个秘密。根据创建 objects/properties 的 Key Vault 约定,Key Vault 机密名称为 Sql--ConnectionString
。作为 devops 管道的一部分,我需要将此秘密值访问到 运行 迁移,但不知道该怎么做。
devops.yaml 的相关部分如下所示:
steps:
- task: AzureKeyVault@2
inputs:
azureSubscription: <SUBSCRIPTION_NAME>
KeyVaultName: <KEY_VAULT_NAME>
- pwsh: |
cd $(Agent.BuildDirectory)/migrations
Write-Host ${Sql--ConnectionString}
Write-Host $(TILAzFunctionCustomDomainVerificationId)
在 Azure Key Vault 步骤中,我看到以下内容:
这表明我的钥匙正在被拉入,包括 Sql 一个。
然后powershell步骤输出如下:
可以看出,名称中带有 --
的值未显示,但没有显示。我尝试了很多不同的方法,但都没有任何运气。我假设密钥名称正在以某种方式进行转换,但我找不到有关如何发生这种情况的信息。
在这一行中,您使用了错误类型的括号:
Write-Host ${Sql--ConnectionString}
应该是
Write-Host $(Sql--ConnectionString)
请注意,powershell 变量的规则不适用于此处;这不是一个 powershell 变量,它是一个 azure devops pipeline variable 所以它需要圆括号,就像上一行一样。
我有一个 devops yaml 管道,它利用 terraform 创建我的 Azure 资源。它会创建一个数据库、一个密钥保管库,然后为 sql 数据库连接字符串向密钥保管库添加一个秘密。根据创建 objects/properties 的 Key Vault 约定,Key Vault 机密名称为 Sql--ConnectionString
。作为 devops 管道的一部分,我需要将此秘密值访问到 运行 迁移,但不知道该怎么做。
devops.yaml 的相关部分如下所示:
steps:
- task: AzureKeyVault@2
inputs:
azureSubscription: <SUBSCRIPTION_NAME>
KeyVaultName: <KEY_VAULT_NAME>
- pwsh: |
cd $(Agent.BuildDirectory)/migrations
Write-Host ${Sql--ConnectionString}
Write-Host $(TILAzFunctionCustomDomainVerificationId)
在 Azure Key Vault 步骤中,我看到以下内容:
然后powershell步骤输出如下:
--
的值未显示,但没有显示。我尝试了很多不同的方法,但都没有任何运气。我假设密钥名称正在以某种方式进行转换,但我找不到有关如何发生这种情况的信息。
在这一行中,您使用了错误类型的括号:
Write-Host ${Sql--ConnectionString}
应该是
Write-Host $(Sql--ConnectionString)
请注意,powershell 变量的规则不适用于此处;这不是一个 powershell 变量,它是一个 azure devops pipeline variable 所以它需要圆括号,就像上一行一样。