【Azure Developer】通过 API 获取 Azure VM 信息实践指南 Part 2(Azure China)

问题描述

基于 Azure China (21Vianet) 环境,实现对订阅下云服务器(Virtual Machine)的统一资产管理能力。具体要求如下:

  • 通过 RESTful API 获取订阅下所有 VM 信息;
  • 返回标准 JSON 格式数据;
  • 支持自动化集成;
  • 采用只读、安全、可控的访问方式;
    • 能够进一步获取 VM 的操作系统、运行状态、CPU、内存、IP 地址以及删除记录等信息。
 本文为第二部分 将包含获取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

 

 
posted @ 2026-08-25 20:10  编码者卢布  阅读(2)  评论(0)    收藏  举报