Azure API - как узнать, запущена или освобождена виртуальная машина - PullRequest
2 голосов
/ 06 февраля 2020

Я пытаюсь сгенерировать отчет об использовании в календаре, и отсутствующий показатель c запускает / останавливает время освобождения VS.

Просмотр документации по API не кажется простым. способ получить эту информацию от vm api или управления затратами.

Любые предложения о том, как получить этот показатель c?

1 Ответ

1 голос
/ 06 февраля 2020

Powershell . Проверьте состояние PowerState.

Get-AzVM -Status

C#

ResourceId vmResourceId = ResourceId.FromString(vmResourceId);
var authenticated = Azure.Configure().Authenticate(Common.Credentials);
vmInner = await authenticated.WithSubscription(vmResourceId.SubscriptionId).VirtualMachines.Inner.GetAsync(vmResourceId.ResourceGroupName, vmResourceId.Name, InstanceViewTypes.InstanceView);
PowerState = vmInner.InstanceView.Statuses.Where(i => i.Code.Contains("PowerState")).FirstOrDefault()?.DisplayStatus;

API - https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/instanceview , Найдите массив состояний, где code = "PowerState / running".

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