Compartilhar via

从企业协议迁移到Microsoft 客户协议 API

本文可帮助你了解企业协议(EA)和Microsoft 客户协议(MCA)帐户之间的数据结构、API 和其他系统集成差异。 成本管理支持这两种帐户类型的 API。 在继续操作之前,请查看设置计费帐户用于 Microsoft 客户协议 的文章。

拥有现有 EA 帐户的组织在设置 MCA 帐户时应查看本文。 以前,续订 EA 帐户需要完成少量的工作,以便从旧注册转移到新注册。 但是,迁移到 MCA 帐户需要额外的工作。 之所以需要付出额外的工作,是因为底层计费子系统发生了变化,影响了所有与成本相关的 API 和服务产品。

MCA API 和集成

使用 MCA API 和新集成可以:

  • 通过本机Azure API 提供完整的 API 可用性。
  • 在单个计费帐户中配置多个发票。
  • 访问合并的 API,包括 Azure 服务使用情况、第三方市场平台使用情况以及市场平台购买。
  • 使用成本管理查看各个计费档案(与账单记录相同)的成本。
  • 访问新的 API,以显示成本、在成本超出预定义的阈值时获得通知,并自动导出原始数据。

迁移核对清单

以下各项可帮助你过渡到 MCA API。

  • 请熟悉新的 Microsoft 客户协议 的计费帐户
  • 确定所用的 API,并查看以下部分中替换了哪些 API。
  • 熟悉 Azure 资源管理器 REST API
  • 如果尚未使用 Azure 资源管理器 API,使用 Microsoft Entra ID0 注册客户端应用。
  • 使用访问控制(IAM)向Microsoft Entra应用注册期间创建的应用程序授予对计费帐户的读取访问权限。
  • 将任何编程代码更新为 使用Microsoft Entra身份验证
  • 更新所有编程代码,以将 EA API 调用替换为 MCA API 调用。
  • 更新错误处理,以使用新的错误代码。
  • 查看其他集成产品/服务,例如Power BI,了解其他所需的操作。

MCA API 替换了 EA API

EA API 使用 API 密钥进行身份验证和授权。 MCA API 使用Microsoft Entra身份验证。

注意

所有Azure企业报告 API 都已停用。 应尽快迁移到Microsoft 成本管理 API接口

目的 EA API MCA API
余额和额度 /balancesummary Microsoft。Billing/billingAccounts/billingProfiles/availableBalanceussae
使用情况 (JSON) /usagedetails
/usagedetailsbycustomdate
选择成本详细信息解决方案
使用情况 (CSV) /usagedetails/download
/usagedetails/submit
选择成本详细信息解决方案
市场使用情况 (CSV) /marketplacecharges
/marketplacechargesbycustomdate
选择成本详细信息解决方案
计费周期 /billingperiods Microsoft/Billing/billingAccounts/billingProfiles/invoices
价目表 /pricesheet Microsoft.Billing/billingAccounts/billingProfiles/pricesheet/default/download format=json 或 csv
Microsoft。Billing/billingAccounts/.../billingProfiles/.../invoices/... /pricesheet/default/download format=json 或 csv
Microsoft.Billing/billingAccounts/../billingProfiles/../providers/Microsoft.Consumption/价目表/下载
预留项购买 /reservationcharges Microsoft。Billing/billingAccounts/billingProfiles/transactions
预约建议 /SharedReservationRecommendations
/SingleReservationRecommendations
Microsoft.Consumption/reservationRecommendations
预留项使用情况 /reservationdetails
/reservationsummaries
Microsoft,Consumption/reservationDetails
Microsoft.Consumption/reservationSummaries

Usage Details API 提供 Azure 服务和第三方 Marketplace 的使用情况。

以下 API 适用于 MCA 计费帐户:

目的 Microsoft 客户协议 (MCA) API
计费帐户² Microsoft。Billing/billingAccounts
计费对象信息² Microsoft。Billing/billingAccounts/billingProfiles
发票科目² Microsoft。Billing/billingAccounts/invoiceSections
发票 Microsoft。Billing/billingAccounts/billingProfiles/invoices
计费订阅 {scope}/billingSubscriptions

API 返回对象列表,这些对象是与 Azure 成本管理相关的范围,成本管理体验在 Azure 门户和 API 中通过这些范围进行操作。 有关成本管理范围的详细信息,请参阅了解和使用范围

如果使用任何现有的 EA API,则需要将其更新才能支持 MCA 计费帐户。

用于获取余额和额度的 API

“获取余额摘要”用于提供每月摘要:

  • 余额
  • 新购置
  • Azure 市场服务费用
  • 调整
  • 服务超额费用

所有消费 API 都被替换为使用 Microsoft Entra ID 进行身份验证和授权的原生 Azure API。 有关调用 Azure REST API 的详细信息,请参阅REST 入门指南

替换 "获取余额摘要 API" 的是 Microsoft.Billing/billingAccounts/billingProfiles/availableBalance API。

若要使用可用余额 API 获取可用余额:

方法 请求 URI
GET https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/availableBalances?api-version=2018-11-01-preview

用于获取成本和使用情况的 API

使用以下 API 获取Azure服务使用情况、第三方市场使用情况和其他市场购买成本的每日明细。 以下单独的 API 已合并,以供 Azure 服务和第三方 Marketplace 使用。 旧 API 被 ExportsCost Details API 取代。 要选择适合你的解决方案,请参阅选择成本详细信息解决方案。 两种解决方案都提供相同的成本明细文件,并在数据中包含市场采购,这些数据以前仅显示在迄今为止的余额摘要中。

与所有成本管理 API 一样,Exports 和 Cost Details API 可在多个范围内使用。 对于通常在注册层级接收的开票成本,请使用计费档案范围。 有关成本管理范围的详细信息,请参阅了解和使用范围

类型 ID 格式
计费帐户 /Microsoft/Billing/billingAccounts/{billingAccountId}
计费配置文件 /Microsoft/Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}
订阅 /subscriptions/{subscriptionId}
资源组 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}

通过 Exports 和 Cost Details API 提供的新 Cost Details 数据集中,一些属性名称已改变。 下表显示了相应的属性。

旧属性 新属性 说明
AccountId 不适用 不会跟踪订阅创建者。 使用 invoiceSectionId(与 departmentId 相同)。
AccountNameAccountOwnerId 和 AccountOwnerEmail 不适用 不会跟踪订阅创建者。 使用 invoiceSectionName(与 departmentName 相同)。
附加信息 附加信息
收费单独结算 isAzureCreditEligible(是否符合Azure优惠资格) 属性是相反的。 如果 isAzureCreditEnabled 为 true,则 ChargesBilledSeparately 为 false。
已消耗数量 数量
ConsumedService 已用服务 确切的字符串值可能不同。
ConsumedServiceId
CostCenter 成本中心
日期和 usageStartDate 日期
从日期中解析出日。
部门编号 发票部分ID (invoiceSectionId) 确切的值不同。
部门名称 发票部分名称 确切的字符串值可能不同。 如果需要,请配置发票科目以匹配部门。
ExtendedCost 和 Cost 计费货币成本
InstanceId 资源 ID
是重复性费用
位置 位置
计量类别 meterCategory 确切的字符串值可能不同。
MeterId meterId 确切的字符串值不同。
计量器名称 计量名称 确切的字符串值可能不同。
MeterRegion meterRegion 确切的字符串值可能不同。
MeterSubCategory 仪表子类别 确切的字符串值可能不同。
月份 从日期中解析出月份。
优惠名称 使用 publisherName 和 productOrderName。
OfferID
订单编号
零件编号 使用 meterId 和 productOrderName 来唯一标识价格。
计划名称 产品订单名称
产品 产品
ProductId productId 确切的字符串值不同。
Publisher名称 发布者名称
资源组 资源组名称
ResourceGuid meterId 确切的字符串值不同。
资源位置 resourceLocation
ResourceLocationId
资源名称
ResourceRate 实际价格
服务管理员ID 不适用
ServiceInfo1 serviceInfo1
ServiceInfo2 serviceInfo2
ServiceName meterCategory 确切的字符串值可能不同。
服务层级 仪表子类别 确切的字符串值可能不同。
商店服务标识符 不适用
订阅GUID 订阅ID
订阅 ID (SubscriptionId) subscriptionId
订阅名称 订阅名称
标签 标记 tags 属性适用于根对象,而不适用于名为 properties 的属性内部的嵌套属性。
计量单位 计量单位 确切的字符串值不同。
使用结束日期 日期
从日期中解析年份。
(新) 计费货币 费用所用的货币。
(新) billingProfileId 计费档案的唯一 ID(与注册相同)。
(新) billingProfileName 计费配置文件的名称(与注册过程相同)。
(新) 收费类型 用于区分Azure服务使用情况、市场使用情况和购买。
(新) 发票编号 发票的唯一 ID。 当前开放月份为空。
(新) 发布者类型 购买内容的发布者类型。 用于使用时为空。
(新) serviceFamily 购买类型。 可用于使用
(新) 服务期结束日期 购买的服务的结束日期。
(新) 服务期开始日期 购买的服务的开始日期。

计费周期 API 已被发票 API 替代

MCA 计费帐户不使用计费周期。 它们使用发票将成本范围限定为特定的计费周期。 计费周期 API 已替换为发票 API。 所有“消费 API”均被替换为使用 Microsoft Entra ID 进行身份验证和授权的本机 Azure API。 有关调用 Azure REST API 的详细信息,请参阅开始使用 REST

若要通过发票 API 获取发票:

方法 请求 URI
GET https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoices?api-version=2018-11-01-preview

价目表 API

本部分讨论现有的价目表 API,并提供移动到Microsoft客户协议价目表 API 的建议。 它还讨论了Microsoft客户协议的价目表 API,并介绍了价目表中的字段。 企业获取价目表和企业获取计费周期 API 已被 Microsoft 客户协议的价目表 API (Microsoft.Billing/billingAccounts/billingProfiles/pricesheet) 取代。 新 API 支持 JSON 和 CSV 格式,并采用异步 REST 格式。 所有消费 API 都被替换为使用 Microsoft Entra ID 进行身份验证和授权的原生 Azure API。 有关调用 Azure REST API 的详细信息,请参阅REST 入门指南

计费企业 API

过去,你会在企业注册中使用计费企业 API 来获取价格和计费周期信息。 身份验证和授权使用 Microsoft Entra 网络令牌。

若要通过价目表和计费周期 API 获取指定企业注册的适用价格:

方法 请求 URI
GET https://consumption.azure.com/v2/enrollments/{enrollmentNumber}/pricesheet
GET https://consumption.azure.com/v2/enrollments/{enrollmentNumber}/billingPeriods/{billingPeriod}/pricesheet

Microsoft客户协议的价目表 API

使用Microsoft客户协议的价目表 API 查看所有Azure消费和市场消费服务的价格。 为计费配置文件显示的价格适用于属于该计费配置文件的所有订阅。

使用价目表 API 查看 CSV 格式的所有Azure消耗服务价目表数据:

方法 请求 URI
POST https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/pricesheet/default/download?api-version=2018-11-01-preview&startDate=2019-01-01&endDate=2019-01-31&format=csv

使用价目表 API 查看 JSON 格式的所有Azure消耗服务价目表数据:

方法 请求 URI
POST https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/pricesheet/default/download?api-version=2018-11-01-preview&startDate=2019-01-01&endDate=2019-01-31&format=json

使用该 API 会返回整个帐户的价目表。 但是,也可以获取价目表的精简版本(PDF 格式)。 摘要包括为特定发票计费的 Azure 消耗服务和市场平台消耗服务。 发票由 {invoiceId} 标识,此 ID 与发票摘要 PDF 文件中显示的“发票编号”相同。 下面是一个示例。

显示对应于发票 ID 的发票编号的屏幕截图。

若要通过价目表 API 查看 CSV 格式的发票信息:

方法 请求 URI
POST https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoices/{invoiceId}/pricesheet/default/download?api-version=2018-11-01-preview&format=csv

若要通过价目表 API 查看 JSON 格式的发票信息:

方法 请求 URI
POST https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoices/{invoiceId}/pricesheet/default/download?api-version=2018-11-01-preview&format=json

还可以在当前开放计费周期或服务周期中看到任何Azure消耗或市场消耗服务的估计价格。

若要通过价目表 API 查看 CSV 格式的消耗服务估算价格:

方法 请求 URI
POST https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billing AccountId}/billingProfiles/{billingProfileId}/pricesheet/default/download?api-version=2018-11-01-preview&format=csv

若要通过价目表 API 查看 JSON 格式的消耗服务估算价格:

方法 请求 URI
POST https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billing AccountId}/billingProfiles/{billingProfileId}/pricesheet/default/download?api-version=2018-11-01-preview&format=json

Microsoft 客户协议价目表的 API 是 异步 REST APIs。 这些 API 的响应不同于旧式同步 API。 API 响应正文也已更改。

旧响应正文

下面是同步 REST API 响应的示例:

[
        {
            "id": "enrollments/573549891/billingperiods/2016011/products/343/pricesheets",
            "billingPeriodId": "201704",
            "meterId": "dc210ecb-97e8-4522-8134-2385494233c0",
            "meterName": "A1 VM",
            "unitOfMeasure": "100 Hours",
            "includedQuantity": 0,
            "partNumber": "N7H-00015",
            "unitPrice": 0.00,
            "currencyCode": "USD"
        },
        {
    ]

新响应正文

API 支持 Azure REST 异步格式。 使用 GET 调用 API 会收到以下响应:

No Response Body

HTTP Status 202 Accepted

以下标头连同输出位置一起发送:

Location:https://management.chinacloudapi.cn/providers/Microsoft.Consumption/operationresults/{operationId}?sessiontoken=XZDFSnvdkbkdsb==

Azure-AsyncOperation:https://management.azure.com/providers/Microsoft.Consumption/operationStatus/{operationId}?sessiontoken=XZDFSnvdkbkdsb==

Retry-After: 10

OData-EntityId: {operationId}

再次对指定位置发起 GET 请求。 在操作进入完成或失败状态之前,对 GET 调用的响应是相同的。 完成后,对 GET 调用位置的响应会返回下载 URL,就好像操作同时执行一样。 下面是一个示例:

HTTP Status 200

{
  "id": "providers/Microsoft.Consumption/operationresults/{operationId}",
  "name": {operationId},
  "type": “Microsoft.Consumption/operationResults",
  "properties" : {
    "downloadUrl": {urltoblob},
    "validTill": "Date"
  }
}

客户端还可以为 Azure-AsyncOperation 发出 GET 调用。 终结点返回操作的状态。

下表显示了旧式 Enterprise 获取价目表 API 中的字段。 它包括Microsoft客户协议的新价目表中的相应字段:

旧属性 新属性 说明
billingPeriodId 不适用 不适用。 对于Microsoft客户协议,发票和相关价目表取代了 billingPeriodId 的概念。
meterId meterId
计量单位 计量单位 确切的字符串值可能不同。
包含数量 包含数量 不适用于Microsoft客户协议中的服务。
零件编号 不适用 请改用 productOrderName(与 offerID 相同)和 meterID 的组合。
单价 单价 单价适用于Microsoft客户协议中消耗的服务。
货币代码 定价货币 Microsoft客户协议在定价货币和账单货币中都有价格表示。 currencyCode 对应于 Microsoft 客户协议中的 pricingCurrency。
offerID 产品订单名称 如果不使用 OfferID,可以改用 productOrderName,但两者不同。 但是,productOrderName 和计量器确定与旧注册中的 meterId 和 OfferID 相关的 Microsoft 客户协议中的定价。

消耗价目表 API 操作

对于企业协议,您可以使用消耗价目表 API 的获取按计费周期获取操作,按 subscriptionId 或计费周期来指定范围。 API 使用Azure资源管理身份验证。

若要通过 Price Sheet API 获取项目范围的 Price Sheet 信息:

方法 请求 URI
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default?api-version=2018-10-01

若要通过价目表 API 按计费周期获取价目表信息:

方法 请求 URI
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default?api-version=2018-10-01

对于Microsoft客户协议,请使用以下 API 终结点,而不是上述 API 终结点:

Microsoft 客户协议的价目表 API(异步 REST API)

此 API 适用于Microsoft客户协议,并提供额外的属性。

计费帐户中计费配置文件范围的价目表

此 API 是现有的 API。 它已更新,以提供计费账户中计费概要文件的价格表。

按计费帐户范围的价目表

在计费帐户的注册范围内获取价目表时,将使用Azure 资源管理器身份验证。

若要在计费帐户中获取注册帐户的价目表:

方法 请求 URI
GET /providers/Microsoft.Billing/billingAccounts/65085863/providers/Microsoft.Consumption/pricesheets/download?api-version=2019-01-01

对于一份 Microsoft 客户协议,请使用以下部分中的信息。 它提供用于Microsoft客户协议的字段属性。

计费帐户中计费配置文件范围的价目表

升级后的按计费账目 API 将价目表以 CSV 格式获取。 若要在 MCA 的计费配置文件范围中获取价格表:

方法 请求 URI
GET /providers/Microsoft.Billing/billingAccounts/{billing AccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/pricesheets/download?api-version=2019-01-01

在 EA 的注册范围内,API 响应和属性是相同的。 这些属性对应于相同的 MCA 属性。

Azure 资源管理器价目表 API 的较旧属性和相同的新属性位于下表中。

旧版 Azure 资源管理器 价目表 API 属性 新的 Microsoft 客户协议价格表 API 属性 说明
仪表编号 meterId 计量的唯一标识符。 与 meterID 相同。
计量器名称 计量名称 计量的名称。 计量表示Azure服务可部署资源。
计量类别 服务 计量的分类类别的名称。 与Microsoft 客户协议价目表中的服务相同。 确切的字符串值不同。
计量器子类别 仪表子类别 计量子分类类别的名称。 基于服务内高阶特征集差异化分类。 例如“基本 SQL 数据库”与“标准 SQL 数据库”。
仪表区域 meterRegion
单位 不适用 可以从 "unitOfMeasure" 解析。
度量单位 计量单位
部件号 不适用 如果不使用部件号,可以用 productOrderName 和 MeterID 来唯一标识计费档案的价格。 字段在 MCA 发票中列出,而不是 MCA 发票中的部件号。
单价 单价 Microsoft 客户协议 单价。
货币代码 价格货币 Microsoft客户协议表示定价货币和计费货币的价格。 货币代码与Microsoft客户协议中的 pricingCurrency 相同。
包含数量 包含数量 不适用于Microsoft客户协议中的服务。 将显示零值。
优惠 ID 产品订单名称 如果不使用 OfferID,可以改用 productOrderName。 与 OfferID 不同,但 productOrderName 和计量决定Microsoft客户协议中的定价。 与旧式注册中的 meterId 和 OfferID 相关。

Microsoft客户协议的价格与企业协议不同。 企业注册中服务的价格对于产品、部件号、计量器和套餐是唯一的。 部件号不在Microsoft客户协议中使用。

作为 Microsoft 客户协议 一部分的 Azure 消耗服务价格在 productOrderName 和 meterID 上是唯一的。 它们代表服务计数器和产品方案。

若要在使用情况详细信息 API 中核对价目表和使用情况,可以使用 productOrderName 和 meterID。

拥有计费配置文件所有者、参与者、读取者和发票管理者权限的用户可以下载价目表。

价格表包括基于使用量的服务的价格。 这些服务包括 Azure 使用量和市场使用量。 每个服务期限结束时的最新价格将会锁定,并应用到单个服务期限内的用量。 对于Azure使用服务,服务周期通常是日历月。

已停用的价目表 API 字段

以下字段在 Microsoft 客户协议价目表 API 中不可用,或其字段名称相同。

已停用的字段 说明
计费周期Id 不适用。 对应于 MCA 的 InvoiceId。
offerID 不适用。 对应于 MCA 中的 productOrderName。
meterCategory 不适用。 对应于 MCA 中的 Service。
单位 不适用。 可从 unitOfMeasure 解析。
货币代码 与 MCA 中的 pricingCurrency 相同。
meterLocation 与 MCA 中的 meterRegion 相同。
零件编号 不适用,因为 MCA 发票中不会列出部件号。 如果不使用部件号,可以改用 meterId 和 productOrderName 的组合来唯一标识价格。
总包含数量 不适用。
税前标准费率 不适用。

已替换的预留实例费用 API

可以通过预留实例费用接口获取预留实例购买的计费交易。 新 API 包含所有购买内容,其中包括第三方市场产品/服务。 所有消费 API 都被替换为使用 Microsoft Entra ID 进行身份验证和授权的原生 Azure API。 有关调用 Azure REST API 的详细信息,请参阅REST 入门指南。 预留实例费用接口已被交易接口替代。

要获取预订购买交易,可以使用交易 API。

方法 请求 URI
GET https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/transactions?api-version=2018-11-01-preview

已被替换的推荐 API

预留实例购买建议 API 提供过去 7 天、30 天或 60 天的虚拟机使用情况。 API 还提供预留购买建议。 它们包括:

  • 共享的预留实例建议 API
  • 单个预留实例推荐 API

所有消费 API 都被替换为使用 Microsoft Entra ID 进行身份验证和授权的原生 Azure API。 有关调用 Azure REST API 的详细信息,请参阅REST 入门指南。 前面列出的预留建议 API 将替换为 Microsoft。Consumption/reservationRecommendations API。

若要通过预留建议 API 获取预留建议:

方法 请求 URI
GET https://management.chinacloudapi.cn/providers/Microsoft.Consumption/reservationRecommendations?api-version=2019-01-01

预留使用情况 API 已被替换

可以通过预留实例使用情况 API 获取注册中的预留使用情况。 如果注册中有多个预留实例,则还可以使用此 API 获取所有预留实例购买内容的使用情况。

它们包括:

  • 预留实例使用情况详细信息
  • 预留实例使用情况摘要

所有消费 API 都被替换为使用 Microsoft Entra ID 进行身份验证和授权的原生 Azure API。 有关调用 Azure REST API 的详细信息,请参阅REST 入门指南。 前面列出的预留建议 API 将替换为 Microsoft。Consumption/reservationDetailsMicrosoft。Consumption/reservationSummaries API。

若要通过预留详细信息 API 获取预留详细信息:

方法 请求 URI
GET https://management.chinacloudapi.cn/providers/Microsoft.Consumption/reservationDetails?api-version=2019-01-01

若要通过预留摘要 API 获取预留摘要:

方法 请求 URI
GET https://management.chinacloudapi.cn/providers/Microsoft.Consumption/reservationSummaries?api-version=2019-01-01
  • 阅读 Cost Management 文档了解如何监视和控制Azure支出。 或者,通过成本管理优化资源使用。