Вы можете добавить задачу powershell в свой конвейер, чтобы сделать это с помощью Azure Devops.
Получить токен Azure Resource Manager : Вы можете обратиться к приведенному ниже PowerShell. скрипты для получения токена. Проверьте здесь для получения дополнительной информации о том, где можно получить идентификатор клиента и его секрет. Обратите внимание, что ресурс здесь "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
После того, как вы получили токен, вы можете передать его в API отдыха LUIS. Ниже приведен только сценарий.
$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
Существует еще один блог , который может оказаться полезным.
Обновление: токен менеджера ресурсов GetAzure с интерфейсом командной строки Azure с приведенным ниже сценарием:
az account get-access-token --resource=https://management.core.windows.net/ | jq -r .accessToken
Проверьте официальные документы здесь и здесь для примера.