Azure Заголовок авторизации Devops Rest API не работает - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь запросить метрики использования с виртуальной машины, на которой я работаю на Azure Devops. Я знаю, что это онлайн, потому что я отправил пинг. Однако каждый раз, когда я пытаюсь запустить программу с правильной заполненной информацией Get, я получаю сообщение об ошибке:

{"error":{"code":"AuthenticationFailed","message":"Authentication failed. The 'Authorization' header is missing."}}

Я следую инструкциям здесь: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/metrics-vm-usage-rest

import requests
BASE_URL = "GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmname}/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=Percentage%20CPU&timespan=2018-06-05T03:00:00Z/2018-06-07T03:00:00Z"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer {myPAT}"
}
response = requests.get(BASE_URL,headers)
print(response.text)

Ошибка заключается в моем заголовке авторизации, что мне не хватает?

Edit: Собственно этот вопрос Есть ли способ позвонить Azure Devops через python с помощью ' запросы '? решили мою проблему, но теперь у меня другая ошибка: «{« error »: {« code »:« InvalidAuthenticationToken »,« message »:« Недействительный токен доступа. »}}». Я читаю документы. https://docs.microsoft.com/en-us/azure/active-directory-b2c/access-tokens Спасибо.

1 Ответ

0 голосов
/ 09 июля 2020

По сути, вы не можете использовать Azure DevOps PAT. Вам необходимо создать участника-службу и запросить токен доступа, следуя этому документу: Azure Справочник по REST API

Для этого легко использовать curl, см. Вызов Azure REST API через curl для получения подробной информации.

И, как упоминалось в блоге, если вам нужен токен только для запуска некоторого теста, а вы не хотите go через принципала службы создание, то вы можете просто запустить команду ниже, чтобы получить токен доступа. Вы получите токен доступа с максимальным сроком действия 1 час.

az account get-access-token

После этого вы можете использовать токен доступа в своем скрипте.

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...