Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 使用az cli创建的服务连接不工作_Azure_Automation_Azure Devops_Azure Cli - Fatal编程技术网

Azure 使用az cli创建的服务连接不工作

Azure 使用az cli创建的服务连接不工作,azure,automation,azure-devops,azure-cli,Azure,Automation,Azure Devops,Azure Cli,作为部署脚本的一部分,我希望为给定的azure devops项目自动创建服务连接。我研究了地形,但它还不支持它。ARM模板也没有用于服务连接的任何内容 这个链接有一些关于如何做的注释。如链接所示,我捕获了post请求主体,并将其存储在config.json文件中 我正在运行以下命令来创建服务原则 az devops service-endpoint create --service-endpoint-configuration config.json --organization "https

作为部署脚本的一部分,我希望为给定的azure devops项目自动创建服务连接。我研究了地形,但它还不支持它。ARM模板也没有用于服务连接的任何内容

这个链接有一些关于如何做的注释。如链接所示,我捕获了post请求主体,并将其存储在config.json文件中

我正在运行以下命令来创建服务原则

az devops service-endpoint create --service-endpoint-configuration config.json --organization "https://dev.azure.com/ojaskale" --project "Test Project"
这确实创建了一个服务连接,但这个连接不起作用。如果我从控制台创建一个服务原则,它将按预期工作

我收到以下错误消息

管道无效。作业生成:步骤Docker输入 containerRegistry引用服务连接 找不到的acrserviceconnectiontest。服务 连接不存在或未被授权使用。对于 授权详细信息,请参阅

我可以在build.yml中看到acrserviceconnectiontest

Azure指南说我需要复制post请求正文并填写所需的详细信息。默认情况下,post正文没有servicePrincipalId。我做了一些研究,发现我需要创建一个,并分配角色给它,我正在做的。这里给出了两个脚本,我遵循它们

一旦我创建了服务原则,我就会得到以下输出

服务负责人ID:XXXXXXXXXXXXXXXXXXXXXX
服务主体密码:XXXXXXXXXXXXXXXXXXXXXX

我试过用这两种方法来代替servicePrincipalId,但似乎都不起作用

工作服务连接的服务原则id不同于我使用cli创建的服务原则id


我想我很快就能让它工作了,因为我可以看到服务连接正在创建,但它不工作。有人能告诉我我错过了什么或做错了什么吗?谢谢。

对于您正在引用的服务连接,您应该使用config.json中
name
属性下的任何内容。我已经这样设置了。好了,简单的测试方法,请转到项目设置并查看服务连接。它将有一个不同的名称,我非常确定,项目设置中的服务连接名称(来自config.json)与build.yml中的名称匹配。