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

mrwjdhj3  于 2023-11-21  发布在  其他
关注(0)|答案(3)|浏览(107)

我已经定义了一个通用类型的服务连接,在Azure中称为“DowntimeApiKeyGen”。apikey的加密值保存在“Password/Token Key”下。我如何在代理阶段下从powershell-task中的环境变量访问此apikey的值?
我试过各种各样的呼叫,比如跟踪,都没有成功。x1c 0d1x
我认为,调用变量有问题。有人有想法,如何解决这个问题?

l7wslrjt

l7wslrjt1#

在Azure中,使用Azure DevOps REST API从环境变量访问服务连接。

yhxst69z

yhxst69z2#

我相信你在azure devops中错误地解释了通用服务连接的概念。用户名和密码/令牌密钥需要连接到您的服务,该服务由您在服务器URL字段中放置的URL托管,同时在项目设置下创建通用服务连接。它不应该为您存储环境变量。从您的屏幕截图来看,看起来你正在使用经典管道而不是基于YAML的管道。你尝试配置的powershell任务不允许你添加服务连接。但是Azure Powershell任务将允许你这样做。
但是对于您的需求,您所需要做的就是在Variables选项卡下的Tasks旁边添加API keys/secrets。这应该可以解决您的问题。
x1c 0d1x的数据

gjmwrych

gjmwrych3#

在“Variables”选项卡下添加API键的解决方案,无论是在管道变量还是变量组中,都是有效的,我在发布我的问题之前已经意识到了这一点。然而,在这种方法中,它需要为项目中的每个范围单独定义API键。因此,将API密钥建立为服务连接不仅节省了时间和精力,而且在涉及到编辑或改变它时特别有利。通过这种设置,修改只需要在一个中心位置进行,而不是在保存在管道变量或变量组中的每个变量中进行。
最近几天,我幸运地发现了一种方法,它是这样的:
1.在代理阶段中添加“Authenticated PowerShell”任务x1c 0d1x
1.然后从服务列表

中选择所需的服务连接
1.最后像往常一样填写剩余的细节。
就是这样!

相关问题