教程:使用导出 API 设定历史成本数据集的种子

大型组织通常需要分析一年或一年以上的历史成本。 可能需要创建数据集进行有针对性的一次性查询或设置报表仪表板,以可视化随时间推移的成本趋势。 无论哪种情况,都需要一种能可靠地获取数据的方法,以便可以将其加载到可以查询的数据存储中。 设定历史成本数据集后,随着新成本传入,可以更新数据存储,以便报告保持最新。 历史成本很少变化,如果是这样,你将收到通知。 因此,建议最多每月刷新一下历史成本。

在本教程中,你将了解如何执行以下操作:

  • 获取服务主体的持有者令牌
  • 设置请求的格式
  • 在一个月区块中执行请求

先决条件

需要适当的权限才能成功调用导出 API。 建议在自动化方案中使用服务主体。

此外,你还需要一种可直接查询 API 的方法。 查询 API 的一些常用方式包括:

获取服务主体的持有者令牌

若要了解如何使用服务主体获取持有者令牌,请参阅获取访问令牌

设置请求的格式

请参阅以下示例请求并创建自己的一次性数据导出。 以下示例请求在指定的 Azure 存储帐户中创建一个月的实际成本数据集。 建议每个报表请求不超过一个月的数据。 如果每个月都有一个大型数据集,建议为一次性导出设置 partitionData = true,以便将数据集拆分为多个文件。 有关详细信息,请参阅大型数据集的文件分区

PUT https://management.chinacloudapi.cn/providers/Microsoft.Billing/billingAccounts/{enrollmentId}/providers/Microsoft.CostManagement/exports/{ExportName}?api-version=2021-10-01

请求标头

Authorization: <YOUR BEARER TOKEN>
Accept: /*/
Content-Type: application/json

请求正文

{
  "properties": {
    "definition": {
      "dataset": {
        "granularity": "Daily",
        "grouping": []
      },
      "timePeriod": {
        "from": "2021-09-01T00:00:00.000Z",
        "to": "2021-09-30T00:00:00.000Z"
      },
      "timeframe": "Custom",
      "type": "ActualCost"
    },
    "deliveryInfo": {
      "destination": {
        "container": "{containerName}",
        "rootFolderPath": "{folderName}",
        "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}"
      }
    },
    "format": "Csv",
    "partitionData": false
  }
}

在一个月区块中创建导出

建议在一个月的区块中创建一次性数据导出。 如果要设定一年的历史数据集,则应执行 12 个导出 API 请求 - 每个月一个。 设定历史数据集种子后,可以创建计划的导出,以便随着时间和费用的累积继续填充 Azure 存储中的成本数据。

运行每个导出

创建每个月的导出后,需要通过调用执行 API 手动运行每个导出。 下面是对 API 的示例请求。

POST https://management.chinacloudapi.cn/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run?api-version=2021-10-01

后续步骤

在本教程中,你将了解:

  • 获取服务主体的持有者令牌
  • 设置请求的格式
  • 在一个月区块中执行请求

若要详细了解成本详细信息,请参阅引入成本详细信息数据

若要详细了解成本详细信息数据集中可用的数据,请参阅了解成本详细信息数据字段