使用 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 库运行查询。

后续步骤