Azure Devops 发布管道 - key 中包含特殊字符的 Keyvault

标签 azure azure-devops azure-keyvault

我正在运行 devops 发布管道,并通过此任务拉回 keyvaults secret

步骤:

  • 任务:AzureKeyVault@1

我的 secret 值看起来像这样。 abc$def&ghi

我正在通过 Powershell 使用此 secret 更新数据库记录。

最终出现在数据库中的值是“abcghi”,$ 和直到(包括 &)的字符均被排除。

我需要以某种方式逃避来自 keyvault 的 secret 吗?

-兰迪

最佳答案

您是否尝试在 PowerShell 数据库更新脚本中使用双引号字符串内的 secret 值?像这样的事情:

$sqlCommand = "update table set value='abc$def&ghi' where id=1";

如果是这样,PowerShell 会尝试将 $def 扩展为变量。它可能不是真正变量,并且会扩展为空字符串。

您可以使用反引号 `$ 转义 key 保管库中的美元符号,但如果您需要在非 PowerShell 场景中使用该 secret ,则必须小心。

或者,您可以在字符串周围使用单引号字符;尽管您随后需要转义该字符串中使用的任何单引号字符:

$sqlCommand = 'update table set value=''abc$def&ghi'' where id=1';

请参阅 PowerShell 文档 about quoting rules了解更多信息。

关于Azure Devops 发布管道 - key 中包含特殊字符的 Keyvault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66904885/

相关文章:

azure - 是否可以使用 U-SQL 托管表作为 Azure 数据工厂中的输出数据集?

azure-devops - 指定 CMMI 流程 Azure DevOps 板中任务的计划(开始日期、完成日期)

svn - 有没有办法使用 SVN post commit hook 对 VSTS 构建进行排队?

node.js - 如何从 Azure Key Vault Node 检索 secret

Azure Key Vault - 如何更新 secret

azure - 将 ADF 权限添加到 ARM 中的 key 保管库

Azure 搜索 - 作为第一个或单个结果完全匹配

c# - 进程完成时从 azure 函数发送电子邮件

azure - 如何在 Azure 上获取构建名称?

visual-studio-code - 有没有办法使用 VS Code 将自动化测试与 Azure DevOps 中的测试用例相关联?