You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取所有虚拟机合规状态的REST API查询及现有API返回202响应问题

Azure虚拟机合规状态REST API解决方案

获取所有虚拟机合规状态的API

你可以通过以下两种REST API方式批量获取订阅内所有虚拟机的合规状态:

1. Azure Resource Graph API

通过资源图查询可一次性获取所有VM的补丁合规相关数据,请求示例:

POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
Content-Type: application/json

{
  "query": "resources | where type == 'Microsoft.Compute/virtualMachines' | project name, resourceGroup, subscriptionId, patchCompliance = properties.extended.instanceView.patchStatus"
}

响应会包含每台VM的补丁状态详情,包含合规性相关的缺失补丁统计等信息。

2. Azure Policy Insights API(针对政策合规)

如果需要获取符合Azure Policy定义的合规状态,使用此API:

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/query?api-version=2021-06-01
Content-Type: application/json

{
  "query": "policyStates | where resourceType == 'Microsoft.Compute/virtualMachines' | project resourceName, complianceState, policyAssignmentName, resourceGroup"
}

处理单台VM的202 Accepted响应

调用assessPatches API返回202 Accepted是因为该操作为异步执行,需按以下步骤获取最终合规数据:

  • 从202响应的Location响应头中提取轮询URL,格式示例:
    https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/assessPatchesOperationResults/{operationId}?api-version=2022-08-01
    
  • 定期调用该轮询URL,直到返回200 OK状态,此时响应体将包含完整的补丁合规信息(如关键/安全补丁缺失数量、合规状态等),与你参考图片中的内容匹配。

内容的提问来源于stack exchange,提问作者somesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 19:45:42