如何从Azure中的环境变量访问服务连接?

How to access a service connection from environment variable in azure?

提问人:Kyrellos 提问时间:11/10/2023 最后编辑:mklement0Kyrellos 更新时间:11/16/2023 访问量:66

问:

我在 Azure 中定义了一个名为“DowntimeApiKeyGen”的通用类型的服务连接。 apikey 的加密值保存在“密码/令牌密钥”下。 如何在代理阶段的 powershell 任务中的环境变量中访问此 apikey 的值?

我尝试了各种电话,例如跟随,但没有成功。enter image description here

我认为,调用变量有问题。 有没有人有想法,如何解决这个问题?

Azure PowerShell 变量 environment-variables serviceconnection

评论

0赞 Kyrellos 11/16/2023
感谢您的回复。您可以在下面找到我对您的帖子的反馈和问题的答案。

答:

0赞 Sammprada CancerCare 11/10/2023 #1

在 Azure 中,使用 Azure DevOps REST API 从环境变量访问服务连接。在管道脚本中集成命令。

评论

0赞 Kyrellos 11/10/2023
恐怕,我没有完全明白,你什么意思。
0赞 Community 11/11/2023
正如目前所写的那样,你的答案尚不清楚。请编辑以添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以在帮助中心找到有关如何写出好答案的更多信息。
0赞 Vishal Bakshi 11/11/2023 #2

我相信您错误地解释了Azure DevOps中通用服务连接的概念。在项目设置下创建通用服务连接时,需要用户名和密码/令牌密钥才能连接到由您在“服务器 URL”字段中输入的 URL 托管的服务。它不应该为您存储环境变量。从屏幕截图来看,您使用的是经典管道,而不是基于 YAML 的管道。你尝试配置的 powershell 任务不允许添加服务连接。但是,Azure Powershell 任务将允许你执行此操作。

但为了满足您的要求,您需要做的就是在“任务”旁边的“变量”选项卡下添加您的 API 密钥/密钥。这应该可以解决您的问题。

enter image description here

0赞 Kyrellos 11/16/2023 #3

无论是在管道变量还是变量组中,涉及在“变量”选项卡下添加 API 密钥的解决方案都有效,我在发布问题之前就已经意识到了这一点。但是,在这种方法中,它需要为项目中的每个范围单独定义 API 密钥。因此,将 API 密钥建立为服务连接不仅可以节省时间和精力,而且在编辑或更改它时特别有利。使用此设置,只需在一个中心位置进行修改,而无需在管道变量或变量组中保存的每个变量中进行修改。

最近几天,我幸运地发现了一种方法,如下所示:

  1. 在代理阶段添加“经过身份验证的 PowerShell”任务enter image description here
  2. 然后从下拉列表中选择所需的服务连接enter image description here
  3. 最后像往常一样继续填写剩余的详细信息。

就是这样!