如何每日获取Azure订阅内各资源的成本?
无需资源组名称获取Azure订阅资源每日成本的方法
直接使用Azure Cost Management的Usage Details查询API,无需指定资源组,即可获取订阅下所有资源的每日成本明细:
- 构造GET请求:
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/query?api-version=2023-11-01 - 请求头需包含
Authorization: Bearer {access-token},请求体示例(指定每日粒度、按资源分组统计):{ "type": "Usage", "timeframe": "Custom", "timePeriod": { "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" }, "dataset": { "granularity": "Daily", "aggregation": { "totalCost": { "name": "PreTaxCost", "function": "Sum" } }, "grouping": [ { "type": "Dimension", "name": "ResourceId" }, { "type": "Dimension", "name": "ResourceName" } ] } }
- 构造GET请求:
用Azure CLI快速查询(同样无需资源组):
az costmanagement query --subscription {subscriptionId} --type Usage --timeframe Custom --time-period start=YYYY-MM-DD end=YYYY-MM-DD --dataset granularity=Daily aggregation='totalCost={name:PreTaxCost,function:Sum}' grouping='[{type:Dimension,name:ResourceId},{type:Dimension,name:ResourceName}]'权限要求:调用方需拥有订阅级的
Cost Management Reader或Reader角色权限,确保能访问订阅的成本数据。
返回结果会包含每个资源的ID、名称以及对应日期的税前总成本,完全满足每日获取单资源成本的需求。
内容的提问来源于stack exchange,提问作者user1312155
相关产品推荐
相关产品推荐

