使用 API 导出和读取碳足迹

碳足迹没有专用的公共 API。 不过,您可以通过 BigQuery Data Transfer Service API 导出碳足迹,然后使用 BigQuery API 查询数据。

使用 BigQuery Data Transfer Service API

如需调用 BigQuery Data Transfer Service API,您可以使用提供的客户端库,也可以直接调用 REST API

以下文档介绍了如何使用 REST API 创建碳足迹转移配置和回填。不过,为方便起见,您可能更希望使用您偏好的语言通过客户端库进行等效的 API 调用。

通过 REST API 创建导出

使用以下载荷调用 BigQuery Data Transfer Service API 的 transferConfigs.create 端点以创建转移作业:

{
  "dataSourceId": "61cede5a-0000-2440-ad42-883d24f8f7b8",
  "displayName": "NAME",
  "params": {
    "billing_accounts": "BILLING_ACCOUNT_IDS"
  },
  "destinationDatasetId": "DATASET"
}

您需要进行如下替换:

  • NAME 替换为您的转移配置名称。例如:“公司碳排放报告”
  • BILLING_ACCOUNT_IDS 替换为您的结算账号 ID。此值可以是结算账号 ID 的逗号分隔列表。例如:XXXXXX-XXXXXX-XXXXXX,XXXXXX-XXXXXX-XXXXXX
  • DATASET 替换为当前项目中的目标 BigQuery 数据集 ID。例如 company_carbon_report

创建转移配置后,系统将在未来的每个月 15 日自动导出碳排放数据。如需导出历史数据,请参阅下文。

通过 REST API 运行历史数据回填

如需导出现有转移配置(见上文)的历史碳排放数据,您必须请求对转移配置进行回填。

如需创建回填,请使用上一步中创建的传输的标识符(例如 projects/0000000000000/locations/us/transferConfigs/00000000-0000-0000-0000-000000000000)和以下载荷,向 transferConfigs.startManualRuns 端点发送 POST 请求:

{
  "requestedTimeRange": {
    "startTime": "<var>START_TIME</var>",
    "endTime": "<var>END_TIME</var>"
  }
}

其中:

  • START_TIME 是一个时间戳,用于指定要回填的范围的开始时间。例如:2021-02-15T00:00:00Z。 请注意,您在此处可以指定的最早日期是 2021 年 2 月 15 日,因为它包含 2021 年 1 月的数据。
  • END_TIME 是一个时间戳,用于指定要回填的范围的结束时间。例如:2022-09-15T00:00:00Z。 您可以使用当前日期。

通过 API 查询现有导出

在查询 API 之前,请编写一个 SQL 查询,以从导出的数据集中返回所需的数据。您可以在 BigQuery 控制台中测试 SQL 查询。

配置将数据导出到 BigQuery 后,请使用 BigQuery APIBigQuery 库运行查询。

后续步骤