Список виртуальных машин Azure через REST API
В настоящее время я пытаюсь получить список всех виртуальных машин, которые я запускаю под подпиской Windows Azure программно. Для этого я пытаюсь использовать API Azure REST (https://management.core.windows.net), а не использовать командлеты power-shell.
Используя командлеты, я могу запустить "Get-AzureVM" и получить список всех виртуальных машин с именем службы, именем и статусом без каких-либо изменений. Проблема в том, что я не могу найти нигде в документации о том, как перечислять виртуальные машины через API.
Я просмотрел различные API Azure REST, но ничего не смог найти. Документация для VM REST API не отображает или не предоставляет функцию списка.
Я где-то упускаю основы?
// Create the request.
// https://management.core.windows.net/<subscription-id>/services/hostedservices
requestUri = new Uri("https://management.core.windows.net/"
+ subscriptionId
+ "/services/"
+ operation);
Это то, что я использую для базы запроса. Я могу получить список размещенных сервисов, но не виртуальных машин.
Ответы
Ответ 1
Вам нужно будет получить список всех облачных сервисов (Hosted Services), а затем свойства развертывания для каждого. Найдите развертывание в рабочей среде/слоте. Затем проверьте тип роли "PersistentVMRole".
Виртуальные машины - это всего лишь тип облачной службы, а также роли Web и Worker. Портал управления Windows Azure и командлеты PowerShell абстрагируют это, чтобы сделать вещи немного легче понять и просмотреть.
Ответ 2
Выполните следующие действия для перечисления виртуальных машин:
- Список HostedServices, используя следующие ListHostedServices
- Для каждого сервиса, указанного выше,
a) GetDeployment по средам (производство или постановка).
ИЛИ
b) Получить развертывание по имени.
- В любом случае получите значение для Deployment.getRoleInstanceList(). getRoleInstance(). getInstanceName().