Получить имя виртуальной машины для экземпляра веб-приложения Azure из REST API или PowerShell - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь найти командлет REST API / PowerShell для получения имени виртуальной машины (начинается с RD) для экземпляра веб-приложения Azure.

Я обнаружил, что могу перечислить идентификаторы процессов по идентификатору экземпляра, а затем получить процесс экземпляра с помощью Служба приложений Azure . Этот объект имеет подробную информацию, включая имя машины. Мне интересно, есть ли лучший способ сделать это, возможно, с меньшими вызовами API.

Справка:

Мне нужно программно перезапустить определенный экземпляр веб-приложения Azure. Пользователи, вызывающие перезапуск, могут видеть только имя виртуальной машины или экземпляр роли веб-приложения в приложении Insights. Я нашел API для перечисления экземпляров, но ничего не нашел для сопоставления между идентификатором экземпляра и именем виртуальной машины напрямую.

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Вы можете попробовать использовать REST API Web Apps - List Instance Identifiers, чтобы получить все экземпляры приложения, масштабируемые по горизонтали.

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances?api-version=2016-08-01

Фактически, экземпляры для WebApp путем масштабирования предназначены для его плана обслуживания приложений.Например, я увеличил номер экземпляра моего веб-приложения до 4 на портале Azure, а затем номер экземпляра его Плана обслуживания приложений, как показано ниже.

enter image description here

И я получил ответ json от REST API, как показано ниже.

enter image description here

0 голосов
/ 19 марта 2019

Попробуйте этот API Виртуальные машины - Список ?

Используя этот API, вы можете получить идентификатор и имя из значений []

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines?api-version=2018-06-01

Пример результата:

{
  "value": [
             {
               // ignore

               "id": "/subscriptions/{subscriptionsID}/resourceGroups/test-resource-group/providers/Microsoft.Compute/virtualMachines/my-vmname",
               "name": "my-vmname"
             }
  ]
}
...