如何使用Bearer令牌从Azure DevOps调用REST API

马丁·索格森

我正在尝试使用Azure DevOps任务以编程方式将LUIS预测资源分配给LUIS应用程序,如此处所述简而言之,这涉及

我可以手动执行这些步骤,但是如何从Azure DevOps执行此操作?我试图从无代理作业中使用“调用REST API”任务,但是看不到如何检索和使用Bearer令牌。请注意,承载令牌已过期。

谢谢你的建议。

李维·鲁

您可以在管道中添加一个powershell任务,以通过azure devops执行此操作。

获取Azure资源管理器令牌:可以参考下面的Powershell脚本来获取令牌。点击这里了解哪里可以获取客户端ID和客户端密钥的更多信息。请注意,此处资源为“ https://management.core.windows.net/

$client_id = "{client id}"
$client_secret = "{client secret}"
$uri= "https://login.microsoftonline.com/{tenant id}/oauth2/token"

$Body = @{
        'resource'= "https://management.core.windows.net/"
        'client_id' = $client_id
        'grant_type' = 'client_credentials'
        'client_secret' = $client_secret
}

$params = @{
    ContentType = 'application/x-www-form-urlencoded'
    Headers = @{'accept'='application/json'}
    Body = $Body
    Method = 'Post'
    URI = $uri
}

$response = Invoke-RestMethod @params
$token = $response.access_token

获得令牌后,可以将其传递给LUIS rest api。下面的脚本仅作为示例。

$LuisBody = @{
        "azureSubscriptionId"= "{subscription_id}"
        "resourceGroup"= "{resource_group_name}"
        "accountName"= "{account_name}"
}

$Luisparams = @{
    Headers = @{ 
        Authorization = ("Bearer {0}" -f $token) # pass the token which got from above script
        "Ocp-Apim-Subscription-Key" = "{subscription key}"
        ContentType = "application/json"
        }

    Body = $LuisBody
    Method = 'Post'
    URI = "https://{endpoint}/luis/api/v2.0/apps/{appId}/azureaccounts"
}

 Invoke-RestMethod @Luisparams

还有另一个博客可能对您有所帮助。

更新:带有以下脚本的带有Azure CLI的GetAzure资源管理器令牌:

az account get-access-token --resource=https://management.core.windows.net/ | jq -r .accessToken

在此处查看官方文档,并在此处查看示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Azure DevOps使用REST API调用GetItem

如何从Azure DevOps扩展中调用Wiki REST Api?

自定义 Azure DevOps REST API 调用

Azure DevOps REST Api标签调用(Repos>标签)

Azure DevOps 调用 rest api 任务授权失败

Azure DevOps REST API调用仅检索100条记录

如何使用rest api调用列出azure devops项目中的所有错误?

使用 Powershell 的 Azure Devops 审计 rest api 延续令牌

Azure DevOps REST API

如何生成Bearer令牌以调用远程Web API

如何以静默方式获取Azure DevOps的用户令牌并将其用于访问DevOps REST API?

在守护程序应用程序或长时间运行的任务中调用Azure DevOps REST API

Azure DevOps REST API 调用仅检索前 100 条记录,ContinuationToken 为空

Azure Devops REST API 删除

使用Azure DevOps REST Api如何获取分支的提交哈希?

如何使用Azure DevOps REST API覆盖列表变量?

如何以角度使用 Azure devops REST API

如何使用Azure devops Rest Api获取最新标签?

如何使用 REST API 在 Azure DevOps 中禁用分支策略?

如何使用 Rest API 管理 Azure DevOps 组权限

如何使用 REST API 在 azure devops 中创建环境

使用 Azure DevOps REST Api 如何获取默认分支?

通过访问令牌,使用Azure DevOps中的REST API获取用户详细信息

如何使用 Azure Devops Services Rest API 在 Azure Devops 中更新测试用例的“区域路径”

Powershell从api调用请求Bearer令牌

如何在使用C#BOT Framework SDK V4构建的瀑布对话框中调用AZURE DEVOPS rest API?

如何使用客户端发送的相同Bearer令牌,使用Azure Graph API授予用户使用SecurityGroup的权限

Python中的Azure-Devops API调用

如何获取有效的访问令牌以从Postman调用Azure REST API