如何查询Azure订阅内资源的End of Life日期及相关详情
Azure订阅资源生命周期终止(EOL)信息查询方案
优先方案:REST API实现查询
要实现全订阅资源EOL信息批量查询,可按以下步骤调用Azure官方REST接口:
- 第一步调用资源列表接口拉取订阅下所有资源基础信息
接口地址:GET https://management.azure.com/subscriptions/{你的订阅ID}/resources?api-version=2021-04-01
需在请求头携带Azure AD授权令牌:Authorization: Bearer {你的访问令牌},所需权限为订阅级读取权限。 - 第二步调用产品生命周期接口拉取全量Azure产品EOL规则
接口地址:GET https://management.azure.com/providers/Microsoft.ProductLifeCycle/products?api-version=2023-12-01-preview - 两侧数据按资源类型、SKU字段做匹配,即可得到每个资源对应的通用支持终止日期、扩展支持终止日期、官方升级建议等详细信息。
更高效率的REST衍生方案:Azure Resource Graph查询
你可以直接调用Azure Resource Graph的REST接口执行Kusto查询语句,一次性返回匹配后的全量结果,无需自行做数据匹配:
- 请求地址:
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01 - 请求体中的查询语句:
Resources | join kind=leftouter ( ProductLifecycleProducts | where lifecycleStage != 'GenerallyAvailable' | project productId, endOfSupportDate, extendedSupportEndDate, upgradeGuidance ) on $left.type == $right.productId | project resourceName=name, resourceType=type, sku=sku.name, endOfSupportDate, extendedSupportEndDate, resourceGroup, location, upgradeGuidance
该方案返回速度远快于逐页拉取资源再匹配的方式,适合大订阅量的场景。
无需开发的替代方案:Azure告警配置
如果不需要自行对接系统,可直接配置内置告警实现EOL提前通知:
- 创建新的告警规则,触发条件选择产品即将终止支持,可自定义提前通知的时间窗口(比如提前3个月、6个月告警)
- 通知渠道可配置邮件、企业Webhook、Azure Function等,告警触发后可直接流转到升级规划、许可证续期流程
- 也可以直接在Azure Advisor的「生命周期」板块查看全订阅即将到期的资源清单,无需任何开发配置即可直接获取数据。
脚本批量处理方案
如果是本地自动化脚本场景,可使用Azure CLI或PowerShell快速查询:
- Azure CLI示例命令:先执行
az resource list拉取所有资源,再执行az lifecycle product list拉取EOL规则做匹配即可。
内容的提问来源于stack exchange,提问作者Dashing
相关产品推荐
相关产品推荐

