为了扩展承诺使用折扣 (CUD) 计划,我们更新了基于支出的 CUD 数据模型,并提供工具来帮助您为这些变化做好准备,其中包括:
- BigQuery 示例数据导出:我们用一个示例数据集演示了如果选择启用这些变化涉及的内容,BigQuery 中基于支出的 CUD 数据导出在呈现方面有何变化。
- CUD KPI 示例查询:这些示例查询可与 BigQuery 数据导出示例结合使用来计算重要的 CUD 关键绩效指标 (KPI)。
- 新 CUD 详细信息:有关新 CUD 字段和数据迁移的说明,例如新增的 CUD 费用 SKU ID、优惠名称和使用模式 ID。
BigQuery 示例数据导出
您可以使用 BigQuery 示例数据导出让自己的内部系统做好准备,以便快速适应基于支出的 CUD 数据涉及的变化。如要使用示例数据导出,请执行以下主要步骤:
- 检查前提条件。
- 启用示例数据导出。
- 让新数据完成累积过程。
- 探索新的数据模型和查询。
- 相应地更新您的内部系统和工作流。
前提条件
您必须满足以下前提条件才能使用示例数据导出:
您必须为自己的 Cloud Billing 账号配置了详细或标准结算数据导出。如需了解详情,请参阅设置将 Cloud Billing 数据导出到 BigQuery 的功能
您必须对拥有导出项的项目以及对您要启用导出功能的 Cloud Billing 账号都具有所需的权限。例如:
- 对包含数据集的项目具有
bigquery.datasets.create权限。 - 对 Cloud Billing 账号具有
billing.accounts.getUsageExportSpec权限。
如需查找包含这些权限的预定义 Cloud Billing 角色(例如 Billing Account Viewer、Billing Account Costs Manager 或 Billing Account Administrator),请参阅 Cloud Billing 访问权限控制和权限。如需详细了解 BigQuery 特定的权限,请参阅 BigQuery IAM 角色和权限。
- 对包含数据集的项目具有
创建新的 Cloud Billing 账号时,系统会默认针对基于支出的承诺启用按比例归因。如果不是新用户,则必须自行启用该选项,才能使用此导出功能。您可以按照这些说明来启用该选项。
-
如果您为项目或组织中的 BigQuery 资源使用 VPC Service Controls,则必须创建入站规则和出站规则才能正确启用向 BigQuery 导出数据的功能。
- 创建一条入站规则,授予个人创建导出的权限:
- ingressFrom: identities: - PRINCIPAL_IDENTIFIER_OF_USER_INITIATING_EXPORT sources: - accessLevel: "*" ingressTo: roles: - roles/bigquery.dataOwner resources: - projects/YOUR_PROJECT_ID_TO_HOST_EXPORT_DATA title: 'Ingress Rule Name'如需详细了解主账号标识符格式,请参阅主账号标识符。
- 创建一条出站规则,以允许 Google Cloud 通过 VPC Service Controls 访问 BigQuery 数据集:
- egressTo: roles: - roles/bigquery.dataOwner resources: - projects/710382390241 egressFrom: identityType: ANY_IDENTITY sources: - accessLevel: "*" sourceRestriction: RESTRICTION_STATUS title: 'Egress Rule Name'
- 创建一条入站规则,授予个人创建导出的权限:
启用示例数据导出
如需启用示例数据导出,请完成以下步骤:
打开 Google Cloud 控制台的“结算数据导出”部分。
在结算数据导出对话框中,选择要为其启用示例数据导出的 Cloud Billing 账号,如以下屏幕截图所示。

数据导出流程将开始,大约需要 1 天时间才能完成启用。在准备就绪之前,您会看到以下说明:
启用示例数据导出后,系统会开始收集 Cloud Billing 数据,并会持续添加新数据,直到 2026 年 1 月。请先留出充足的时间让足够多的数据在导出中累积,之后再将您的系统更新为采用新的数据模型。导出准备就绪后,您会在 Google Cloud 控制台的“结算”部分看到以下通知:

系统会在包含详细或标准结算数据导出的同一 BigQuery 项目中将数据导出作为关联数据集予以创建。由于是关联数据集,因此不会因导出示例而产生额外费用。如需了解详情,请参阅 BigQuery Sharing 简介。
点击查看示例数据集,以在Google Cloud 控制台中打开 BigQuery,您可以在其中运行查询来了解重要的 CUD KPI。
示例导出的相关限制
示例数据导出是一项有用的工具,可帮助您为数据模型涉及的变化做好准备,但与实际数据导出相比,两者有以下重要区别:
- 迁移后:在选择启用新的数据模型后,请勿再继续使用示例导出,因为届时示例导出将不再准确。
- 输出大小:由于数据汇总方面的差异,示例导出的大小可能与您选择启用这些变化所涉及内容后看到的实际导出的大小有所不同。
- 舍入方法:由于舍入方法不同,在非常小的金额或非美元货币中可能存在细微差异。
- 按比例计算的费用:示例导出可能会将购买 CUD 后其存续期间第一个小时和最后一个小时的费用估得比实际费用偏高一些,因为示例导出并不会以与实际导出相同的方式来计算不足一小时的承诺费用。如果购买了基于支出的 CUD,系统则会按比例计算第一个小时的费用。
- 数据新鲜度:与标准 BigQuery Export 相比,示例导出是按时间表生成的,存在一定的延迟。根据 SLO,对于给定的世界协调时间 (UTC) 分区日期 (D1),示例导出数据应在 D3 结束时的太平洋标准时间 (PST)/太平洋夏令时 (PDT) 午夜之前完全导出。这意味着,与标准导出相比,示例导出通常无法更快地反映绝对最新的使用情况。由于数据处理的时间以及是否包含延迟到达的使用情况数据(这些数据可能会更快地显示在标准导出中),因此可能会出现差异,尤其是对于最近的使用日期。
- 比较建议:为确保您比较的是完整的数据集,请过滤查询,使其仅包含至少三天前的分区中的数据。使用 _PARTITIONTIME 伪列进行此过滤。例如,如果当前日期为 2025-10-20,则查询应包含
DATE(_PARTITIONTIME, 'America/Los_Angeles') <= '2025-10-17'的数据。
- 比较建议:为确保您比较的是完整的数据集,请过滤查询,使其仅包含至少三天前的分区中的数据。使用 _PARTITIONTIME 伪列进行此过滤。例如,如果当前日期为 2025-10-20,则查询应包含
- 历史数据的完整性:生成示例导出的流程与标准导出流程是分开的。此流程可能会受到运营问题或服务突发事件的影响。在极少数情况下,这会导致特定日期范围内的示例导出数据不完整或缺失。例如,示例导出在 2025 年 8 月 6 日至 8 月 9 日期间导出的数据存在完整性问题。
- 比较建议:在验证示例导出时,尤其是在验证历史数据时,请注意可能存在此类异常。使用最近的完整账单月份(例如 2025 年 9 月)进行测试可以提供更准确的预览。
采用新版 CUD 模式前后的数据导出示例
采用新版基于支出的 CUD 模式需要您规划和调整可能使用 Cloud Billing 数据的内部系统。因此,我们提供了以下场景,以展示数据导出架构和数据在采用新版 CUD 模式前后会发生怎样的变化。之后,我们进一步将这些场景细分为过度利用 CUD 和未充分利用 CUD 的情况,以展示这些情况对数据导出有何影响。
在上述两种情况下,假设您在 US
Central 1 区域购买了 E2-Standard-8 虚拟机,其中包含两个 SKU(针对 RAM 和 Core)。这两个 SKU 分别使用虚构 ID RAM SKU 和 Core SKU。
然后,您以 0.1 美元/小时的价格和 0.3 美元/小时的价格分别为过度利用场景和利用不足场景购买 1 Year GCE Flex CUD。在数据中,这些内容以虚构 ID Fee SKU 表示。
过度利用 CUD 的场景
在过度利用场景中,您进行了上述购买交易,并且过度利用 CUD。
采用新模式之前的数据
采用新版 CUD 模式之前,Cloud Billing 导出架构和数据值将如下表所示。
| SKU | cost | usage.amount_in_pricing_units | usage.pricing_unit | price.effective_price | originating-sku 1 | subscription.instance_id | credits |
|---|---|---|---|---|---|---|---|
| 费用 SKU | 0.046868 | 6.509490 | 小时 | 0.0072 | RAM SKU | subscriptions/e52fd279-0851-4f53-a533-093119e27bad | [] |
| 费用 SKU | 0.025132 | 3.490510 | 小时 | 0.0072 | Core SKU | subscriptions/e52fd279-0851-4f53-a533-093119e27bad | [] |
| RAM SKU | 0.174496 | 8 | GiB 小时 | 0.02181159 | null | null | [{"amount":-0.065095,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}] |
| Core SKU | 0.093568 | 32 | 小时 | 0.00292353 | null | null | [{"amount":-0.034905,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}] |
1. 此列表示 goog-originating-sku-id 标签的值。
之后的数据
采用新版 CUD 模式之后,Cloud Billing 导出架构和数据值将如下表所示。
| SKU | cost | usage.amount_in_pricing_units | usage.pricing_unit | consumption_model.description | price.effective_price | originating-sku 1 | subscription.instance_id | credits |
|---|---|---|---|---|---|---|---|---|
| 费用 SKU | 0.046868 | 0.046868330 | 小时 | 默认值 | 1 | RAM SKU | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [{"amount":"-0.046868",""type":"FEE_UTILIZATION_OFFSET"}] |
| 费用 SKU | 0.025132 | 0.025131670 | 小时 | 默认值 | 1 | Core SKU | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [{"amount":"-0.025132",""type":"FEE_UTILIZATION_OFFSET"}] |
| RAM SKU | 0.109398 | 5.015577498 | GiB 小时 | 默认值 | 0.02181159 | null | null | [] |
| Core SKU | 0.058648 | 20.06066639 | 小时 | 默认值 | 0.00292353 | null | null | [] |
| RAM SKU | 0.046868 | 2.984422502 | GiB 小时 | 计算灵活 CUD 1 年期 | 0.01570434 | null | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [] |
| Core SKU | 0.025132 | 11.93933361 | 小时 | 计算灵活 CUD 1 年期 | 0.00210494 | null | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [] |
1. 此列表示 goog-originating-sku-id 标签的值。
请注意,在此新版 CUD 模式中:
- 每个 CUD 都有两行内容,而不是每个 CUD 只对应一行。
- 新增了
consumption_model.description列,用于区分其他 CUD 条目,其中:Compute Flexible CUDs 1 Year值表示您获得了预期的 CUD 折扣。Default值表示您过度利用了 CUD,并且对于超额利用的金额部分,您的费用会恢复为使用默认价格。subscription.instance_id字段没有值,也说明有这种情况。- CUD 费用行也具有
Default值,因为折扣也不适用于这些行。相反,credits字段会用一个负抵扣值来抵消相应费用。
未充分利用 CUD 的场景
对于该未充分利用场景,我们假定您进行了上述购买交易,并且未充分利用 CUD。
采用新模式之前的数据
采用新版 CUD 模式之前,Cloud Billing 导出架构和数据值将如下表所示。
| SKU | cost | usage.amount_in_pricing_units | usage.pricing_unit | price.effective_price | originating-sku 1 | subscription.instance_id | credits |
| 费用 SKU | 0.022994 | 3.194 | 小时 | 0.0072 | null | subscriptions/e52fd279-0851-4f53-a533-093119e27bad | [] |
| 费用 SKU | 0.125637 | 17.450 | 小时 | 0.0072 | RAM SKU | subscriptions/e52fd279-0851-4f53-a533-093119e27bad | [] |
| 费用 SKU | 0.067369 | 9.357 | 小时 | 0.0072 | Core SKU | subscriptions/e52fd279-0851-4f53-a533-093119e27bad | [] |
| RAM SKU | 0.174496 | 8 | GiB 小时 | 0.02181159 | null | null | [{"amount":-0.174496,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}] |
| Core SKU | 0.093568 | 32 | 小时 | 0.00292353 | null | null | [{"amount":-0.093568,"full_name":"Committed use discount - dollar based: GCE Commitments", "type":"COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE"}] |
1. 此列表示 goog-originating-sku-id 标签的值。
之后的数据
采用新版 CUD 模式之后,Cloud Billing 导出架构和数据值将如下表所示。
| SKU | cost | usage.amount_in_pricing_units | usage.pricing_unit | price.effective_price | consumption_model.description | originating-sku 1 | subscription.instance_id | credits |
| 费用 SKU | 0.022994 | 0.0230 | 小时 | 1 | 默认值 | null | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [] |
| 费用 SKU | 0.125637 | 0.1256371 | 小时 | 1 | 默认值 | RAM SKU | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [{"amount":"-0.1256348",""type":"FEE_UTILIZATION_OFFSET"}] |
| 费用 SKU | 0.067369 | 0.0673690 | 小时 | 1 | 默认值 | Core SKU | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [{"amount":"-0.0673581",""type":"FEE_UTILIZATION_OFFSET"}] |
| RAM SKU | 0.125637 | 8 | GiB 小时 | 0.0157043448 | 计算灵活 CUD 1 年期 | null | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [] |
| Core SKU | 0.067369 | 32 | 小时 | 0.0021049416 | 计算灵活 CUD 1 年期 | null | subscriptions/1fd3b130-40f8-4a79-ac6f-5753aaa0ceeb | [] |
1. 此列表示 goog-originating-sku-id 标签的值。
请注意,在此新版 CUD 模式中:
- 每个 CUD 都有两行内容,而不是每个 CUD 只对应一行。
- 新增了
consumption_model.description列,用于区分其他 CUD 条目,其中:Compute Flexible CUDs 1 Year值表示您获得了预期的 CUD 折扣。Default值表示 CUD 费用行,因为折扣不适用于这些行。相反,credits字段会用一个负抵扣值来抵消相应费用,并且这些费用已结转至第一行。
- 第一行会显示 CUD 的总费用。
关键 CUD KPI 的查询示例
如需查看示例查询,了解如何使用 KPI 指标来验证您的系统是否能够使用新的数据模型正常运行,请参阅新 CUD 数据模型的示例查询。
将 Cloud Billing 报告导出至 BigQuery
Cloud Billing 导出到 BigQuery 这一架构的标准、详细及重新结算(仅限转销商)数据导出具有以下新增或更改的字段:
| 字段 | 类型 | 新增或更新 |
|---|---|---|
price |
结构体 | 现有(详细导出和重新结算导出没有变化,标准导出则有新增字段)。 |
price.list_price |
数字 | 新字段 |
price.effective_price_default |
数字 | 新字段 |
price.list_price_consumption_model |
数字 | 新字段 |
price.effective_price |
数字 | 现有(详细导出和重新结算导出中更新了说明,标准导出则有新增字段)。 |
price.tier_start_amount |
数字 | 详细导出采用现有字段,标准导出则有新增字段。 |
price.unit |
字符串 | 详细导出采用现有字段,标准导出则有新增字段。 |
price.pricing_unit_quantity |
数字 | 详细导出采用现有字段,标准导出则有新增字段。 |
cost_at_list |
数字 | 采用现有字段,但更新了说明以反映变化。 |
cost |
数字 | 采用现有字段,但更新了说明以反映变化。 |
cost_at_effective_price_default |
数字 | 新增 |
cost_at_list_consumption_model |
数字 | 新增 |
consumption_model |
结构体 | 新增 |
consumption_model.id |
字符串 | 新增 |
consumption_model.description |
字符串 | 新增 |
价格导出方面的变化
对于 Cloud Billing 价格导出到 BigQuery 这一架构,系统将新增或更改以下字段以反映价格信息:
新的 CUD 产品信息
新的 CUD 费用 SKU 会取代现有的 CUD 费用 SKU,并且新的优惠 ID 和使用模式 ID 应用于所有适用范围内的 CUD。 您可以使用以下详细信息来帮助您调整查询和信息中心。
优惠和使用模式 ID 迁移
如需查看将从旧 CUD 数据模型迁移到新数据模型的优惠 ID 和使用模式 ID 的列表,请参阅已迁移的 CUD SKU、优惠和使用模式 ID。
CUD 费用 SKU ID 迁移
如需查看将从旧数据模型迁移到新数据模型的 CUD 费用 SKU ID 和使用模式 ID 的列表,请参阅已迁移的 CUD SKU、优惠和使用模式 ID。