你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Enterprise REST API

本文介绍可用于 Azure 企业注册的 REST API。 此外还介绍了如何解决 REST API 的常见问题。

消耗量和使用量 API

Microsoft 企业 Azure 客户可以通过 REST API 获取使用情况和计费信息。 角色所有者(企业管理员、部门管理员、帐户所有者)必须通过从 Azure 门户生成一个密钥来启用对 API 的访问。 然后,获得了注册编号和密钥的任何人都可以通过 API 访问数据。

可用 API

余额和摘要 - 余额和摘要 API 提供关于余额、新购买、Azure 市场服务费用、调整和超额费用信息的每月摘要。 有关详细信息,请参阅适用于企业客户的报告 API - 余额和摘要

使用情况详细信息 - 使用情况详细信息 API 提供消耗数量和注册估计费用的日常明细。 结果还包括有关实例、计量和部门信息。 可以按照计费周期或指定的开始日期和结束日期查询 API。 有关详细信息,请参阅适用于企业客户的报告 API - 使用情况详细信息

市场应用商店费用 - 市场应用商店费用 API 按指定计费周期的天或开始和结束日期返回基于使用情况的市场费用明细。 有关详细信息,请参阅适用于企业客户的报告 API - 市场应用商店费用

价目表 - 价目表 API 为注册和计费周期的每个计量提供适用的费率。 有关详细信息,请参阅适用于企业客户的报告 API - 价目表

计费周期 - 计费周期 API 以倒序顺序为注册返回具有消耗数据的计费周期列表。 每个周期都有一个属性指向以下四个数据集的 API 路由:BalanceSummary、UsageDetails、Marketplace Charge 和 PriceSheet。 有关详细信息,请参阅适用于企业客户的报告 API - 计费周期

API 密钥生成

角色所有者可以在 Azure 门户中执行以下步骤来启用 API 数据访问。

  1. 登录 Azure 门户
  2. 搜索“成本管理 + 计费”,然后选择此项。
  3. 从导航菜单中选择“计费范围”,然后选择要使用的计费帐户。
  4. 在左侧导航菜单中,选择“使用情况 + 费用”。
  5. 选择“管理 API 访问密钥”打开“管理 API 访问密钥”窗口。
    Screenshot showing the Manage API Access Keys option.

在“管理 API 访问密钥”窗口中,可以执行以下任务:

  • 生成并查看主访问密钥和辅助访问密钥
  • 查看访问密钥的开始日期和结束日期
  • 禁用访问密钥

注意

  1. 如果使用的是注册管理员,则可以仅从注册级别的“使用情况和费用”边栏选项卡生成密钥,而不在帐户和部门级别生成密钥。
  2. 如果只是部门所有者,则可以在部门级别和你作为帐户所有者的帐户级别生成密钥。
  3. 如果只是帐户所有者,则只能在帐户级别生成密钥。

生成主 API 密钥或辅助 API 密钥

  1. 以企业管理员身份登录到 Azure 门户。
  2. 选择“成本管理 + 计费”。
  3. 从导航菜单中选择“计费范围”,然后选择要使用的计费帐户。
  4. 在导航菜单中,选择“使用情况 + 费用”。
  5. 选择“管理 API 访问密钥”。
  6. 选择“生成”以生成密钥。
    Screenshot showing the Manage API Access Keys window.
  7. 选择“展开符号”或“复制”,获取可供立即使用的 API 访问密钥。
    Screenshot showing the expand symbol and Copy option.

重新生成主 API 密钥或辅助 API 密钥

  1. 以企业管理员身份登录到 Azure 门户。
  2. 选择“成本管理 + 计费”。
  3. 从导航菜单中选择“计费范围”,然后选择要使用的计费帐户。
  4. 在导航菜单中,选择“使用情况 + 费用”。
  5. 选择“管理 API 访问密钥”。
  6. 选择“重新生成”以重新生成密钥。

撤销主 API 密钥或辅助 API 密钥

  1. 以企业管理员身份登录到 Azure 门户。
  2. 搜索并选择“成本管理 + 计费”。
  3. 从导航菜单中选择“计费范围”,然后选择要使用的计费帐户。
  4. 在导航菜单中,选择“使用情况 + 费用”。
  5. 选择“管理 API 访问密钥”。
  6. 选择“撤销”以撤消密钥。

允许非管理员访问 API

若要为注册中的非企业管理员用户提供 API 访问密钥,请执行以下步骤。

这些步骤为密钥持有者授予 API 访问权限,以便其查看使用情况报告中的成本和定价信息。

  1. 在左侧导航窗口中,选择“策略”。
  2. 在“部门管理员可以查看费用”部分下选择“打开”,然后选择“保存”。
  3. 在“帐户使用者可以查看费用”部分下选择“打开”,然后选择“保存”。
    Screenshot showing the Polices window where you change view charges options.

在 API 中传递密钥

在身份验证和授权的每次调用中传递 API 密钥。 将以下属性传递到 HTTP 标头:

请求标头密钥
授权 用以下格式指定该值:bearer {API_KEY}
示例:bearer <APIKey>

Swagger

企业报告 v3 API 中的以下 API 提供 Swagger 终结点。 Swagger 可帮助检查 API。 使用 Swagger 可以通过 AutoRestSwagger CodeGen 生成客户端 SDK。 可以通过 API 使用 2014 年 5 月 1 日之后提供的数据。

API 响应代码

使用 API 时,会显示响应状态代码。 下表描述了这些代码。

响应状态代码 消息 说明
200 OK 无错误
401 未授权 API 密钥找不到、无效、已过期等。
404 不可用 找不到报表终结点
400 错误的请求 参数无效 – 日期范围、EA 号等。
500 服务器错误 处理请求时出现异常错误

使用情况和计费数据更新频率

使用情况和计费数据文件将在当前计费月份每隔 24 小时更新。 但是,可能会出现长达 3 天的数据延迟。 例如,如果在星期一使用了服务,数据可能会直到星期四才出现在数据文件中。

Azure 服务目录

在下载价目表时,可以下载 Azure 门户中所有的 Azure 服务。 有关下载价目表的详细信息,请参阅下载企业协议的定价

CSV 数据文件详细信息

以下信息描述 API 报告的属性。

使用情况摘要

将从 CSV 报告生成 JSON 格式。 因此,格式与摘要 CSV 格式相同。 列名称受控制,因此,在使用 JSON 摘要数据时,应反序列化为数据表。

CSV 列名 JSON 列名 JSON 新列 注释
AccountOwnerId AccountOwnerLiveId AccountOwnerLiveId
帐户名 AccountName AccountName
ServiceAdministratorId ServiceAdministratorLiveId ServiceAdministratorLiveId
SubscriptionId SubscriptionId SubscriptionId
SubscriptionGuid MOSPSubscriptionGuid SubscriptionGuid
订阅名称 SubscriptionName SubscriptionName
Date Date Date 显示服务目录报告的运行日期。 格式是不带时间戳的日期字符串。
日期
年份 年份 年份
Product BillableItemName Product
Meter ID ResourceGUID MeterId
测定仪类别 服务 MeterCategory 适用于帮助查找服务。 与具有多个 ServiceType 的服务相关。 例如“虚拟机”。
Meter Sub-Category ServiceType MeterSubCategory 提供服务的另一种详细级别。 例如“A1 VM (非 Windows)”。
Meter Region ServiceRegion MeterRegion 服务所需的第三种详细级别。 查找 ResourceGUID 的区域上下文时非常有用。
Meter Name ServiceResource MeterName 服务的名称。
Consumed Quantity ResourceQtyConsumed ConsumedQuantity
ResourceRate ResourceRate ResourceRate
ExtendedCost ExtendedCost ExtendedCost
Resource Location ServiceSubRegion ResourceLocation
Consumed Service ServiceInfo ConsumedService
实例 ID 组件 InstanceId
ServiceInfo1 ServiceInfo1 ServiceInfo1
ServiceInfo2 ServiceInfo2 ServiceInfo2
AdditionalInfo AdditionalInfo AdditionalInfo
Tags Tags Tags
Store Service Identifier OrderNumber StoreServiceIdentifier
Department Name DepartmentName DepartmentName
Cost Center CostCenter CostCenter
计量单位 UnitOfMeasure UnitOfMeasure 示例值:小时、GB、事件、推送、单位、单位小时、MB、日单位
ResourceGroup ResourceGroup ResourceGroup

Azure 市场报告

CSV 列名 JSON 列名 JSON 新列
AccountOwnerId AccountOwnerId AccountOwnerId
帐户名 AccountName AccountName
SubscriptionId SubscriptionId SubscriptionId
SubscriptionGuid SubscriptionGuid SubscriptionGuid
订阅名称 SubscriptionName SubscriptionName
Date BillingCycle 日期(仅日期字符串。无时间戳)
日期
年份 年份 年份
Meter ID MeterResourceId MeterId
发布者名称 PublisherFriendlyName PublisherName
产品名称 OfferFriendlyName OfferName
计划名称 PlanFriendlyName PlanName
Consumed Quantity BilledQty ConsumedQuantity
ResourceRate ResourceRate ResourceRate
ExtendedCost ExtendedCost ExtendedCost
计量单位 UnitOfMeasure UnitOfMeasure
实例 ID InstanceId InstanceId
其他信息 AdditionalInfo AdditionalInfo
Tags Tags Tags
订单编号 OrderNumber OrderNumber
Department Name DepartmentNames DepartmentName
Cost Center CostCenters CostCenter
资源组 ResourceGroup ResourceGroup

价目表

CSV 列名 JSON 列名 注释
服务 服务 价格无变化
计量单位 UnitOfMeasure
超额部件号 ConsumptionPartNumber
超额单价 ConsumptionPrice
货币代码 CurrencyCode

常见 API 问题

使用 Azure 企业 REST API 时,可能会遇到以下任一常见问题。

可能尝试使用了授权类型不正确的 API 密钥。 API 密钥由以下角色生成:

  • 企业管理员
  • 部门管理员 (DA)
  • 帐户所有者 (AO)

EA 管理员生成的密钥可用于访问该注册的所有信息。 只读 EA 管理员无法生成 API 密钥。

DA 或 AO 生成的密钥不可用于访问余额、费用和价目表信息。

API 密钥每隔六个月过期。 如果已过期,则需要重新生成密钥。

如果收到超时错误,可以通过增大超时阈值限制来解决错误。

你可能会收到 401(未授权)过期错误。 此错误通常是密钥过期造成的。 如果密钥已过期,可以重新生成它。

如果所选日期范围内没有当前可用的数据,API 调用可能会返回 400 和 404(不可用)错误。 例如,发生此错误的原因可能是最近启动了注册转移。 特定日期和之后的数据现在会驻留在新注册中。 否则,该错误的原因可能是使用了新注册编号来检索驻留在旧注册中的信息。

后续步骤