【Azure Developer】通过 API 获取 Azure VM 信息实践指南 Part 2(Azure China)
问题描述
基于 Azure China (21Vianet) 环境,实现对订阅下云服务器(Virtual Machine)的统一资产管理能力。具体要求如下:
- 通过 RESTful API 获取订阅下所有 VM 信息;
- 返回标准 JSON 格式数据;
- 支持自动化集成;
- 采用只读、安全、可控的访问方式;
- 能够进一步获取 VM 的操作系统、运行状态、CPU、内存、IP 地址以及删除记录等信息。
问题解答
场景五:获取 VM 运行状态
调用:
GET https://management.chinacloudapi.cn/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView?api-version=2023-09-01
返回:
{
"statuses":[
{
"code":"ProvisioningState/succeeded"
},
{
"code":"PowerState/running"
}
]
}
常见状态:
|
状态码 |
含义 |
|
PowerState/running |
运行中 |
|
PowerState/stopped |
已停止 |
|
PowerState/deallocated |
已释放 |
|
PowerState/starting |
启动中 |
|
PowerState/stopping |
停止中 |
通过此接口可实现实时监控 VM 运行状态。
场景六:获取 VM CPU 与内存信息
方法一:
GET https://management.chinacloudapi.cn/subscriptions/{subId}/providers/Microsoft.Compute/vmSizes?location=chinaeast&api-version=2023-07-01
返回:
{
"name":"Standard_DS2_v2",
"numberOfCores":2,
"memoryInMB":7168
}
可直接获取:
- CPU 核数
- 内存大小
等规格信息。
方法二:
GET https://management.chinacloudapi.cn/subscriptions/{subId}/providers/Microsoft.Compute/skus?api-version=2023-07-01
根据:
name = VM Size
location = VM Region
进行过滤。
相比 vmSizes API,该接口返回的信息更全面,适用于大型 CMDB 或资源盘点系统。
场景七:如何判断 VM 是否被删除
方法一:
直接查询目标 VM:
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}?api-version=2024-03-01
返回:
200 = VM 存在
404 = VM 不存在或已被删除
适用于单个 VM 的状态检查。
场景八:获取 VM 删除操作记录
若需要审计删除行为,则应查询 Activity Log。
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01
过滤条件:
resourceType eq 'Microsoft.Compute/virtualMachines'
返回日志示例:
{
"operationName":{
"value":"Microsoft.Compute/virtualMachines/delete"
},
"caller":"user@contoso.partner.onmschina.cn",
"status":{
"value":"Succeeded"
},
"eventTimestamp":"2026-05-29T06:30:00Z"
}
可获取:
- 删除操作时间
- 操作用户
- 删除对象
- 执行状态
从而实现 VM 生命周期审计追踪。
总结
通过 Azure China ARM REST API,可以构建完整的 VM 资产管理平台,实现:
- 获取订阅下全部 VM 信息
- 获取公网/私网 IP
- 获取操作系统及镜像版本
- 获取实时运行状态
- 获取 CPU 与内存配置
- 判断 VM 是否已删除
- 查询删除审计日志
整个方案基于 Service Principal + Reader 权限实现,满足企业级“只读、安全、可控”的自动化资源管理需求,可直接应用于 CMDB、资产盘点平台、运维监控平台以及云资源治理场景。
参考资料
在 Microsoft Entra ID 中注册应用程序 : https://docs.azure.cn/zh-cn/entra/identity-platform/quickstart-register-app
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

浙公网安备 33010602011771号