Azure API-如何确定VM是否正在运行或已释放

问题描述 投票:0回答:1

我正在尝试生成日历使用情况报告,而缺少的指标正在运行/停止VS释放时间。

查看API文档,似乎不是从vm api或成本管理中获取此信息的直接方法。

关于如何获得此指标的任何建议?

azure azure-virtual-machine azure-resource-manager azure-rest-api azure-vm
1个回答
0
投票

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。寻找状态数组,其中代码=“ PowerState / running”。

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