你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于企业客户的报告 API - 使用情况详细信息
注意
2024 年 5 月 1 日,Azure 企业报告 API 将停用。 任何剩余的企业报告 API 都将停止响应请求。 在此之前,客户需要过渡到使用 Microsoft 成本管理 API。 要了解详细信息,请参阅从 Azure 企业报告迁移到 Microsoft 成本管理 API 概述。
此 API 仅支持给定资源最多包含 400 个标记字符的使用情况记录。 如果记录超过最大标记数,则 API 可能会失败。 如果遇到此问题,请迁移到导出或导出 API。
使用情况详细信息 API 提供已耗用量和注册估计费用的日常明细。 结果还包括有关实例、计量和部门信息。 可以按照计费周期或指定的开始日期和结束日期查询 API。
需要添加的常见标头属性在企业客户的报告 API 概述一文中指定。 可以使用 yyyy-MM-dd 格式的开始日期和结束日期参数指定自定义时间范围。
CSV 格式
下面列出的 API 提供 CSV 格式的数据。
同步调用 (非轮询)
我们将 CSV 格式的数据作为 REST API 调用的响应返回。 API 性能取决于调用返回的使用情况数据量,最长可能需要 60 分钟。 尽管 API 支持自定义日期范围,但我们建议你根据该时间段的使用情况数据量来限制该范围。 我们最多允许一个月的支持。
方法 | 下载请求 URI |
---|---|
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?billingPeriod={billingPeriod} |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?startTime=2017-01-01&endTime=2017-01-10 |
异步调用 (基于轮询的)
调用是一个两步过程,需要先在特定的时间范围内提交请求,然后轮询以获取包含 CSV 数据的 Azure Blob 位置的基于共享访问密钥的 URL。 此处支持的最大支持时间为 36 个月。 建议将此 API 用于更大的数据集。
方法 | 提交请求 URI |
---|---|
POST | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?billingPeriod={billingPeriod} |
POST | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?startTime=2017-04-01&endTime=2017-04-10 |
异步 (轮询) 提交调用的响应
{
"id": "string",
"enrollmentNumber":"string",
"requestedOn":"2017-08-29T06:56:29.1290704Z",
"status":1,
"blobPath":"",
"reportUrl":"string",
"startDate":"2017-06-01T00:00:00",
"endDate":"2017-06-30T00:00:00"
}
异步调用响应属性定义
属性名称 | 类型 | 说明 |
---|---|---|
id | 字符串 | 请求的唯一 ID。 |
enrollmentNumber | 字符串 | 请求的注册号。 |
requestedOn | 字符串 | 发出请求的日期时间。 |
status | int | 指示请求的状态。 Queued = 1,InProgress = 2,Completed = 3,Failed = 4,NoDataFound = 5,ReadyToDownload=6,TimedOut = 7。 |
blobPath | 字符串 | csv Blob 的共享访问密钥 URL。 |
reportUrl | string | 可用于轮询提交请求状态的 URL。 |
startDate | string | 对应于进行提交调用时使用的时间范围的开头。 |
endDate | string | 对应于进行提交调用时使用的时间范围的结束。 |
reportUrl 是可用于进一步轮询 (GET 操作) 调用的 URL。 当轮询请求响应中的状态字段返回为 3 时,请求完成。 响应中的 blobPath 字段填充了指向 csv 数据的 URL。 Blob 从响应的 requestedOn 字段中的日期时间起 1 天可用。 状态 4、5 和 7 是 API 调用已达到错误条件的失败状态。 对于所有其他状态,应重复轮询调用。
JSON 格式
下面列出的 API 提供 JSON 格式的数据。 如果未指定计费周期,则返回当前计费周期的数据。 支持的最大时间范围为 36 个月。
方法 | 请求 URI |
---|---|
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/billingPeriods/{billingPeriod}/usagedetails |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetailsbycustomdate?startTime=2017-01-01&endTime=2017-01-10 |
注意
若要使用以前版本的 API,请将 v3 替换为上述 URL 中的 v2。 如果使用 v2,则某些字段不可用。
响应
由于数据量可能很大,结果集将分页。 如果存在 nextLink 属性,该属性将指定下一页数据的链接。 如果链接为空,则表示这是最后一页。
{
"id": "string",
"data": [
{
"serviceName":"Storage",
"serviceTier":"Premium Page Blobs",
"location":"US West",
"chargesBilledSeparately":false,
"partNumber":"ABC-12345",
"resourceGuid":"00000000-0000-0000-0000-000000000000",
"offerId":"MS-AZR-0003P",
"cost":1,
"accountId":123456,
"productId":1234,
"resourceLocationId":12,
"consumedServiceId":1,
"departmentId":3456,
"accountOwnerEmail":"account@live.com",
"accountName":"Account Name",
"serviceAdministratorId":"123",
"subscriptionId":0000000,
"subscriptionGuid":"00000000-0000-0000-0000-000000000000",
"subscriptionName":"Subscription Name",
"date":"2018-08-01T00:00:00",
"product":"Locally Redundant Storage Premium Storage - Page Blob/P10 - US West",
"meterId":"00000000-0000-0000-0000-000000000000",
"meterCategory":"Storage",
"meterSubCategory":"Locally Redundant",
"meterRegion":"California",
"meterName":"Premium Storage - Page Blob/P10 (Units)",
"consumedQuantity"1,
"resourceRate":1,
"resourceLocation":"uswest",
"consumedService":"Microsoft.Compute",
"instanceId":"Id",
"serviceInfo1":"string",
"serviceInfo2":"string",
"additionalInfo":"string",
"tags":"string",
"storeServiceIdentifier":"string",
"departmentName":"Department Name",
"costCenter":"1234",
"unitOfMeasure":"Units",
"resourceGroup":"ResourceGroup"
}
],
"nextLink": "string"
}
使用情况详细信息字段定义
属性名称 | 类型 | 说明 |
---|---|---|
id | 字符串 | API 调用的唯一 ID。 |
data | JSON 数组 | 每个 instance\meter 的日常使用情况详细信息数组。 |
nextLink | 字符串 | 存在多页数据时,nextLink 将指向返回下一页数据的 URL。 |
accountId | int | 已过时字段。 用于确保后向兼容性。 |
productId | int | 已过时字段。 用于确保后向兼容性。 |
resourceLocationId | int | 已过时字段。 用于确保后向兼容性。 |
consumedServiceId | int | 已过时字段。 用于确保后向兼容性。 |
departmentId | int | 已过时字段。 用于确保后向兼容性。 |
accountOwnerEmail | 字符串 | 帐户所有者的电子邮件帐户。 |
accountName | string | 客户输入的帐户名称。 |
serviceAdministratorId | 字符串 | 服务管理员的电子邮件地址。 |
subscriptionId | int | 已过时字段。 用于确保后向兼容性。 |
subscriptionGuid | 字符串 | 订阅的全局唯一标识符。 |
subscriptionName | string | 订阅的名称。 |
date | string | 产生消耗的日期。 |
product | 字符串 | 有关计量的其他详细信息。 |
meterId | 字符串 | 发出使用的计量的标识符。 |
meterCategory | 字符串 | 所用的 Azure 平台服务。 |
meterSubCategory | 字符串 | 定义 Azure 服务类型,该类型可能会影响费率。 |
meterRegion | 字符串 | 指明某些服务的数据中心的位置,这些服务根据数据中心位置进行定价。 |
meterName | 字符串 | 计量的名称。 |
consumedQuantity | Double | 已耗用的计量量。 |
resourceRate | Double | 每个计费单位适用的费率。 |
cost | Double | 计量产生的费用。 |
resourceLocation | string | 标识计量正在其中运行的数据中心。 |
consumedService | 字符串 | 所用的 Azure 平台服务。 |
instanceId | 字符串 | 此标识符是资源名称或完全限定的资源 ID。 有关详细信息,请参阅 Azure 资源管理器 API |
serviceInfo1 | 字符串 | 内部 Azure 服务元数据。 |
serviceInfo2 | 字符串 | 例如,虚拟机的映像类型和 ExpressRoute 的 ISP 名称。 |
additionalInfo | 字符串 | 服务特定的元数据。 例如,虚拟机的映像类型。 |
标记 | 字符串 | 客户添加的标记。 有关详细信息,请参阅使用标记来组织 Azure 资源。 |
storeServiceIdentifier | 字符串 | 未使用此列。 用于确保后向兼容性。 |
departmentName | 字符串 | 部门名称。 |
costCenter | 字符串 | 使用情况关联的成本中心。 |
unitOfMeasure | 字符串 | 指明服务的计价单位。 例如,GB、小时、10,000 秒。 |
resourceGroup | 字符串 | 部署的测定仪正在其中运行的资源组。 有关详细信息,请参阅 Azure Resource Manager 概述。 |
chargesBilledSeparately | 字符串 | 在货币承诺之外计费的费用。 |
location | 字符串 | 部署服务的位置。 |
offerId | 字符串 | 针对服务的 OfferId。 |
partNumber | 字符串 | 服务的 SKU 编号。 |
resourceGuid | 字符串 | 发出使用的计量的标识符。 |
serviceTier | 字符串 | 服务层。 |
serviceName | 字符串 | 服务名称。 |
速率限制
为了在客户之间实现一致的体验,所有使用情况 API 在注册级别都受到速率限制。 达到限制时,会收到 HTTP 状态代码“429 请求过多”。 15 分钟间隔内的当前吞吐量如下所示:
API | 速率限制 |
---|---|
NextPage | 1000 |
下载 | 50 |
轮询 | 180 |
提交 | 20 |