本页面介绍了导出到 BigQuery 每个表中的 Cloud Billing 数据架构的参考信息。
结算数据表
启用将 Cloud Billing 数据导出到 BigQuery 的功能后,系统会立即在 BigQuery 数据集中自动创建结算数据表。
- 标准使用费表 — 在 BigQuery 数据集中,该表命名为
gcp_billing_export_v1_<BILLING_ACCOUNT_ID>
。 - 详细使用费表 — 此表包含标准使用费表中的所有数据字段,以及提供资源级费用数据的其他字段,例如产生服务用量的虚拟机或 SSD。在 BigQuery 数据集中,该表命名为
gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>
。 - 价格表 - 在 BigQuery 数据集中,该表命名为
cloud_pricing_export
。
数据加载频率
标准和详细使用费导出:
- 在首次启用将标准或详细使用费导出到 BigQuery 的功能后,可能需要过几个小时才能看到您的 Google Cloud 费用数据。
- Google Cloud 服务会以不同的时间间隔向 Cloud Billing 进程报告使用情况和费用数据。
- Cloud Billing 会定期将使用情况和费用数据导出到您的 BigQuery 数据集(对于导出到 BigQuery 的具体时间,不提供任何送达或延迟保证)。
- 使用情况报告频率因 Google Cloud 服务而异,因此,您不一定能立即看到近期用过的所有 Google Cloud 服务的 Cloud Billing 使用情况和费用数据。
价格导出:
- 首次启用将价格导出到 BigQuery 的功能后,最多可能需要 48 小时才能看到您的 Google Cloud 价格数据。
- 启用价格导出功能后,适用于 Cloud Billing 帐号的价格数据每天导出到 BigQuery 一次。
数据可用性:
- 对于启用了标准使用费或价格数据导出的客户,BigQuery 数据集仅反映首次启用导出功能之日开始产生的 Cloud Billing 数据。Cloud Billing 数据不会追溯添加,因此您不会看到启用导出之前产生的使用情况的 Cloud Billing 数据。
- 对于首次启用详细使用费数据导出的客户,提供从上一个月开始的 Cloud Billing 数据。例如,如果您在 9 月 23 日启用了详细使用费数据导出,则导出内容将包含从 8 月 1 日开始的数据。
- 对于启用,停用且随后重新启用详细使用费数据导出的客户,可能不提供明确停用的时间段内的 Cloud Billing 数据。
- 如果您删除了任何已导出的数据(例如 BigQuery 导出记录),我们无法为您回填已删除的记录。
- BigQuery 负载符合 ACID,因此,如果您在将数据加载到 BigQuery 的同时查询 BigQuery 中的 Cloud Billing 导出数据集,将不会看到未完成加载的数据。详细了解 BigQuery 的特性。
- 请查看可能会影响将结算数据导出到 BigQuery 的其他限制,例如启用了客户管理的加密密钥 (CMEK) 的数据集。
标准使用费数据的架构
以下信息介绍了导出到 BigQuery 的 Google Cloud 标准使用费数据的架构。它包含标准 Cloud Billing 帐号使用费信息,例如帐号 ID、帐单日期、服务、SKU、项目、标签、位置、费用、用量、赠金、调整项和货币。
标准使用费数据不包括任何资源级费用数据,例如产生服务用量的虚拟机或 SSD。如果您想要将资源级费用数据导出到 BigQuery 进行分析,请考虑启用详细使用费数据。导出的详细使用费数据包括标准使用费数据中包含的所有字段和信息。
请查看可能会影响将结算数据导出到 BigQuery 的其他限制,例如启用了客户管理的加密密钥 (CMEK) 的数据集。
在 BigQuery 数据集中,标准 Google Cloud 使用费数据会加载到名为 gcp_billing_export_v1_<BILLING_ACCOUNT_ID>
的数据表中。
字段 | 类型 | 说明 |
---|---|---|
billing_account_id |
字符串 | 与使用情况关联的 Cloud Billing 帐号 ID。 对于转销商:对于 Cloud Billing 子帐号产生的使用费,这是子帐号的 ID,而不是 Cloud Billing 转销商父级帐号的 ID。 |
invoice.month |
字符串 | 包含费用专列项的帐单的年份和月份 (YYYYMM)。例如:“201901”相当于 2019 年 1 月。 您可以使用此字段获取帐单上的总费用。请参阅将 Cloud Billing 数据导出至 BigQuery 查询的示例。 |
cost_type |
字符串 | 此专列项代表的费用类型:常规项、税费、调整项和舍入误差费用。 |
service.id |
字符串 | 与使用情况关联的服务的 ID。 |
service.description |
字符串 | 报告 Cloud Billing 数据的 Google Cloud 服务。 |
sku.id |
字符串 | 服务使用的资源的 ID。如需查看 SKU 的完整列表,请参阅 Google Cloud SKU。 |
sku.description |
字符串 | 服务使用的资源类型的说明。例如,Cloud Storage 的资源类型是“Standard Storage US”。 |
usage_start_time |
时间戳 | 计算指定费用的每小时使用时间段的开始时间。所有服务的使用情况/费用按小时显示,也就是说,长时间运行的服务的使用情况横跨多个每小时时间段。 如需了解详情,请参阅有关时间戳数据类型的 BigQuery 文档。另请参阅下文的导出的数据和帐单之间的区别。 |
usage_end_time |
时间戳 | 计算指定费用的每小时使用时间段的结束时间。所有服务的使用情况/费用按小时显示,也就是说,长时间运行的服务的使用情况横跨多个每小时时间段。 如需了解详情,请参阅有关时间戳数据类型的 BigQuery 文档。另请参阅下文的导出的数据和帐单之间的区别。 |
project |
结构体 | project 包含描述 Cloud Billing 项目的字段,例如 ID、编号、名称、祖先编号和标签。
|
project.id |
字符串 | 生成 Cloud Billing 数据的 Google Cloud 项目的 ID。 |
project.number |
字符串 | 为生成 Cloud Billing 数据的 Google Cloud 项目内部生成的匿名化的唯一标识符。在您的支持案例和其他客户沟通中,Google 将通过此项目编号引用项目。 |
project.name |
字符串 | 生成 Cloud Billing 数据的 Google Cloud 项目的名称。 |
project.ancestry_numbers |
字符串 | 项目(由指定 project.id 标识,例如 my-project-123)的资源层次结构中的祖先。例如:/ParentOrgNumber/ParentFolderNumber/。详细了解资源层次结构。 |
project.ancestors | 结构体 |
此字段介绍了费用专列项的资源层次结构的结构和值,包括项目、文件夹和组织。祖先实体按节点是从节点到根排序(项目、文件夹,再到组织)。 |
project.ancestors.resource_name | 字符串 | 每个祖先实体的相对资源名称,格式为“resourceType/resourceNumber”。使用 project.ancestors.resource_name 可提供更完整的 project.ancestry_numbers 视图。 |
project.ancestors.display_name | 字符串 | 您在控制台中为资源创建的名称。 |
project.labels.key | 字符串 | 如果存在标签,则为键值对中的键部分,键值对包含发生了使用的 Google Cloud 项目中的标签。如需详细了解如何使用标签,请参阅使用标签。 |
project.labels.value |
字符串 | 如果存在标签,则为键值对中的值部分,键值对包含发生了使用的 Google Cloud 项目中的标签。如需详细了解如何使用标签,请参阅使用标签。 |
labels.key | 字符串 | 如果存在标签,则为键值对中的键部分,键值对包含发生了使用的 Google Cloud 项目中的标签。如需详细了解如何使用标签,请参阅使用标签。 |
project.labels.value |
字符串 | 如果存在标签,则为键值对中的值部分,键值对包含发生了使用的 Google Cloud 项目中的标签。如需详细了解如何使用标签,请参阅使用标签。 |
labels.key |
字符串 | 如果存在标签,则为键值对中的键部分,键值对包含发生了使用的 Google Cloud 资源中的标签。如需详细了解如何使用标签,请参阅使用标签。 |
labels.value |
字符串 | 如果存在标签,则为键值对中的值部分,键值对包含发生了使用的 Google Cloud 资源中的标签。如需详细了解如何使用标签,请参阅使用标签。 |
system_labels.key |
字符串 | 如果存在系统标签,则为键值对的键部分,包含发生了使用的资源中的系统生成的标签。另请参阅可用的系统标签。 |
system_labels.value |
字符串 | 如果存在系统标签,则为键值对的值部分,包含发生了使用的资源中的系统生成的标签。另请参阅可用的系统标签。 |
location.location |
字符串 | 多区域、国家、区域或地区层级的使用位置;或者是 global ,表示资源没有特定位置。如需了解详情,请参阅地理位置和区域以及 Google Cloud 位置。 |
location.country |
字符串 | 当 location.location 是国家、区域或地区时,此字段是发生了使用的国家,例如 US 。
如需了解详情,请参阅地理位置和区域以及 Google Cloud 位置。 |
location.region |
字符串 | 当 location.location 是区域或地区时,此字段是发生了使用的区域,例如 us-central1 。如需了解详情,请参阅地理位置和区域以及 Google Cloud 位置。 |
location.zone |
字符串 | 当 location.location 是地区时,此字段是发生了使用的地区,例如 us-central1-a 。
如需了解详情,请参阅地理位置和区域以及 Google Cloud 位置。 |
cost |
浮点数 | 不计任何赠金的使用费,精确到小数点后六位。如需获得包含赠金的总费用,应将所有 credits.amount 添加到费用中。如需了解详情,请参阅此查询示例。 |
currency |
字符串 | 费用的结算币种。如需了解详情,请参阅结算和付款支持的本地货币。 |
currency_conversion_rate |
浮点数 | 美元兑本地货币的汇率。也就是说,cost ÷ currency_conversion_rate 得出以美元为单位的费用。 |
usage.amount |
浮点数 | 所用 usage.unit 的数量。 |
usage.unit |
字符串 | 用于衡量资源使用情况的基本单位。例如,标准存储空间的基本单位是字节/秒。 |
usage.amount_in_pricing_units
|
浮点数 | 所用 usage.pricing_unit 的数量。 |
usage.pricing_unit
|
字符串 | 根据 Cloud Billing Catalog API 衡量资源使用情况的单位。 |
credits |
结构体 | credits 包含描述与 Google Cloud 和 Google Maps Platform SKU 关联的赠金的结构和值的字段。 |
credits.id |
字符串 | 如果存在,则表示赠金与产品 SKU 相关联。credits.id 值要么是字母数字的唯一标识符(例如,12-b34-c56-d78),要么是赠金类型说明(例如,承诺使用折扣:CPU)。
如果 |
credits.full_name |
字符串 | 与产品 SKU 关联的赠金名称。这是字母数字 credits.id 的直观易懂的说明。示例包括:免费试用赠金或基于支出的承诺使用折扣。
|
credits.type |
字符串 | 此字段说明 credits.id 的用途或来源。赠金类型包括:
|
credits.name |
字符串 | 对 Cloud Billing 帐号应用的赠金的说明。 |
credits.amount |
浮点数 | 对使用情况应用的赠金的金额。赠金金额始终为负数。 |
adjustment_info |
结构体 | adjustment_info 包含一些字段,用于说明与 Cloud Billing 帐号关联的费用专列项的调整项的结构和值。仅当为 Cloud Billing 修改生成了费用专列项时,才会显示 |
adjustment_info.id |
字符串 | 如果存在,则表示费用专列项有一个关联的调整项。adjustment_info.id 是某个问题导致的所有关联调整项的唯一 ID。 |
adjustment_info.description |
字符串 | 调整项及其原因的说明。 |
adjustment_info.type |
字符串 | 调整项的类型。 类型包括:
|
adjustment_info.mode |
字符串 | 发出调整项的方式。 模式包括:
|
export_time |
时间戳 | 与附加的 Cloud Billing 数据关联的处理时间。每次导出新数据时,该值都会增加。 另请参阅下文的导出的数据和帐单之间的区别。 |
详细使用费数据的架构
详细使用费数据提供了标准使用费数据中包含的所有信息,以及提供资源级费用数据的其他字段,例如产生服务用量的虚拟机或 SSD。
以下信息介绍导出到 BigQuery 的 Google Cloud 详细使用费数据的架构中提供的其他字段,这些字段未包含在标准使用费数据架构中。
在 BigQuery 数据集中,详细 Google Cloud 使用费数据会加载到名为 gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>
的数据表中。
在 BigQuery 中使用详细使用费数据时,请注意以下事项:
- 为详细使用费数据选择或创建 BigQuery 数据集时,必须使用位于美国 (US) 或欧盟 (EU) 的多区域数据集。
- 如果您是首次启用详细使用费数据导出,提供从上一个月开始的 Cloud Billing 数据。
- 如果您启用,停用且随后重新启用详细使用费数据导出,可能不提供明确停用的时间段内的 Cloud Billing 数据。
- 请查看可能会影响将结算数据导出到 BigQuery 的其他限制,例如启用了客户管理的加密密钥 (CMEK) 的数据集。
- 启用详细使用费数据(而非标准使用费数据)时,请考虑 BigQuery 表可能需要的额外数据量以及额外费用。增加资源级信息的粒度会增加行数,系统会以标准使用费格式进行汇总。我们建议您查看在 BigQuery 中控制费用,以进一步了解管理 BigQuery 费用的最佳做法。
字段 | 类型 | 说明 |
---|---|---|
resource |
结构体 | 这些字段描述产生服务用量的服务资源(例如虚拟机或 SSD)的相关信息的结构和值。 |
resource.global_name |
字符串 | 产生相关用量的资源的全局唯一服务标识符。 |
resource.name |
字符串 | 生成相关用量的资源的特定于服务的标识符。这可以是用户生成的输入。 |
了解标准和详细使用费数据
以下部分介绍了导出到 BigQuery 的标准和详细使用费数据。
标签简介
您会在 BigQuery 数据集中看到标签的相关列,但对于当前版本,部分标签值将为空。系统将在不同的时间为不同的服务填充标签导出数据,具体取决于每项服务提供数据的时间。
可用的系统标签
系统标签是关于发生了使用的资源的重要元数据的键值对。以下系统标签会自动包含在适用的使用情况中。
system_labels.key |
system_labels.value 示例 |
说明 |
---|---|---|
compute.googleapis.com/machine_spec |
n1-standard-1、custom-2-2048 | 虚拟机的配置。如需了解详情,请参阅机器类型。 |
compute.googleapis.com/cores |
如果是 n1-standard-4,则为 4;如果是 custom-2-2048,则为 2 | 可供虚拟机使用的 vCPU 数。 |
compute.googleapis.com/memory |
如果是 n1-standard-4,则为 15360(即 15 GB * 1024 MB/GB);如果是 custom-2-2048,则为 2048 | 可供虚拟机使用的内存量(以 MB 为单位)。 |
compute.googleapis.com/is_unused_reservation |
true;false | 表示通过可用区级预留预留但未使用的用量。 |
导出的数据和帐单之间的区别
Google Cloud 服务以不同的时间间隔向 Cloud Billing 进程报告使用情况和费用数据,因此使用量报告有时会略有延迟(可能长达几天)。在某个日历月月末,延迟报告的使用量可能不包含在当月的帐单中,而是延至下月的帐单。不过,这一使用量会包括将相应使用量报告给 Cloud Billing 进程的实际使用日期和时间的时间戳。
当您使用时间戳字段查询费用时,返回的数据可能会提取最初未显示在当月生成的帐单上且应在以后报告的使用情况。因此,返回的 Cloud Billing 数据可能不会直接反映到该帐单上。
时间戳字段包括:
usage_start_time
usage_end_time
export_time
如需返回直接反映到帐单的 Cloud Billing 数据,请对 invoice.month
而不是时间戳字段运行查询。
税费
从 2020 年 9 月 1 日开始,使用费数据会显示每个项目(而非单个专列项)的纳税金额。如果您的查询或可视化内容依赖于税务数据,您可能需要更新这些查询以体现这些变化。
例如,对于 9 月 1 日之前记录的费用,您的使用费数据类似于以下示例,其中展示了 $10 的总纳税金额。
billing_account_id |
project.id |
cost_type |
cost |
---|---|---|---|
123456-ABCDEF-123456 | 示例项目 | 常规 | $60 |
123456-ABCDEF-123456 | 测试项目 | 常规 | $40 |
123456-ABCDEF-123456 | [空] | 税费 | $10 |
对于 9 月 1 日之后记录的费用,$10 将细分为 $6 用于 example-project
,$4 用于 test-project
:
billing_account_id |
project.id |
cost_type |
cost |
---|---|---|---|
123456-ABCDEF-123456 | 示例项目 | 常规 | $60 |
123456-ABCDEF-123456 | 测试项目 | 常规 | $40 |
123456-ABCDEF-123456 | 示例项目 | 税费 | $6 |
123456-ABCDEF-123456 | 测试项目 | 税费 | $4 |
错误和调整
请注意,万一您的 Cloud Billing 数据中包含错误或需要进行调整,系统会在其中附加 Cloud Billing 数据以排除类似错误。除以下列之外,所有其他列都将保持不变:
cost
credit
usage.amount
export_time
如需确定哪些数据是新数据,只需查询 export_time
即可。
在导出的数据中,Cloud Billing 调整和相关税费的帐单月份反映了调整项发布的月份。不过,调整项可以应用于除调整项发布的月份以外的其他月份。如需了解是否应用了调整项以及应用调整项的位置,您需要在 Google Cloud Console 的文档页面中查看帐单或贷记/借记通知单文档。如需详细了解如何分析调整项以及应用调整项的方式,请参阅了解通知单和调整项。
标准使用费数据的查询示例
价格数据的架构
在 BigQuery 数据集中,您的 Cloud Billing 帐号价格数据会加载到名为 cloud_pricing_export
的数据表中。
以下信息介绍导出到 BigQuery 的 Cloud Billing 帐号价格数据的架构。
字段 | 类型 | 说明 |
---|---|---|
export_time |
时间戳 | 与附加的 Cloud Billing 数据关联的处理时间。每次导出新数据时,该值都会增加。 |
pricing_as_of_time |
时间戳 | 系统每天生成一次适用于您的 Cloud Billing 帐号的价格数据,以准备导出到 BigQuery。这是生成价格数据时的每日时间戳。 |
billing_account_id |
字符串 | 与价格关联的 Cloud Billing 帐号 ID。 |
billing_account_name |
字符串 | 与价格关联的 Cloud Billing 帐号的名称。 |
business_entity_name |
字符串 | 提供 SKU 的服务的 Google 服务系列名称。值包括 GCP (Google Cloud) 或 Maps (Google Maps Platform)。 |
service.id |
字符串 | 报告 Cloud Billing 数据的 Google Cloud 服务或 Google Maps Platform API 的 ID。例如,6F81-5844-456A。 |
service.description |
字符串 | 报告了 Cloud Billing 数据的 Google Cloud 服务或 Google Maps Platform API 的说明。例如,Compute Engine。 |
sku.id |
字符串 | 服务使用的资源 SKU 的唯一标识符。例如,2E27-4F75-95CD。如需查看 SKU 的完整列表,请参阅 Google Cloud SKU。 |
sku.description |
字符串 | 服务使用的资源 SKU 的直观易懂的说明。例如,在美洲运行的 N1 预定义实例核心。 |
sku.destination_migration_mappings |
字符串数组 | 将向其中迁移此 SKU 的目标 SKU 名称。 |
product_taxonomy |
字符串数组 | 适用于 SKU 的产品类别列表,例如无服务器、Cloud Run、TaskQueue、按需虚拟机数、核心数:每个核心等。 |
geo_taxonomy |
结构体 | 适用于 SKU 的地理元数据,例如地区和多地区(如us-east4 欧盟)。 |
geo_taxonomy.type |
字符串 | 与 SKU 关联的地理元数据的类型。有效值包括:
|
geo_taxonomy.regions |
字符串数组 | 与 SKU 关联的 Google Cloud 地区。例如 Europe-west2 或 US 。单地区位置是具体的地理位置,如伦敦。 多地区位置是至少包含两个地理位置的大型地理位置,如美国。 |
pricing_unit |
字符串 | 定价所依据的使用量单位的简称(例如“GiBy.mo”)。 |
pricing_unit_description |
字符串 | 直观易懂的使用量单位说明(例如“吉比字节月”)。 |
account_currency_code |
字符串 | Cloud Billing 帐号采用的货币,使用 ISO 4217 中定义的由三个字母组成的货币代码。如需了解详情,请参阅用于结算和自动付款的本地货币。 |
currency_conversion_rate |
字符串 | 美元兑 Cloud Billing 帐号采用的本地货币的汇率。如果 Cloud Billing 帐号的货币是美元,则汇率默认为 1.0。 如果您的 Cloud Billing 费用以非美元货币结算,您可以使用下列公式将使用费转换为美元: 请注意,按本地货币收费时,Google 会根据主要金融机构发布的汇率将所列价格转换为相应的本地货币。包括针对以非美元货币结算而收取的任何附加费。我们将使用对 |
list_price |
结构体 | Google Cloud 或 Google Maps Platform SKU 和 SKU 的价格层级的定价从
如需了解定价,请访问 将为所有客户生成和导出定价数据。如果您的 Cloud Billing 帐号具有自定义的合同价格,则还会导出结算帐号特定的价格。 |
billing_account_price |
结构体 | 如果您有合同价格,则这是与您的 Cloud Billing 帐号关联的合同中商定的 SKU 价格。
您的合同价格(适用于您的 Cloud Billing 帐号)可在 |
price_info |
结构体 | 合同价格的背景信息。 |
price_info.price_reason |
字符串 | 合同价格来源的背景信息。 原因包括:
|
price_info.discount_percent |
数字 | 对于应用了百分比折扣(FIXED_DISCOUNT 或 FLOATING_DISCOUNT )的合同价格,这是使用的百分比折扣。
|
price_info.discount_percent_fixed_date |
日期 | 对于限定于特定日期 (FIXED_DISCOUNT ) 并应用了百分比折扣的合同价格,这是使用的日期。
|
price_info.discount_migrated_from |
字符串 | 对于从其他 SKU (MIGRATED_PRICE ) 迁移的合同价格折扣,这是折扣的来源 SKU。有时,将一个 SKU 拆分成两个时,折扣会从旧的 SKU 迁移到新的 SKU。
|
aggregation_info |
结构体 | 表示单个 SKU 的价格层级的汇总层级和间隔。 |
aggregation_info.aggregation_level |
字符串 | 是指在哪个级别汇总使用量以计算价格层级的费用。
级别包括:
|
aggregation_info.aggregation_interval |
字符串 | 是指汇总使用量以计算价格层级费用的时间间隔。
间隔包括:
|
tiered_rates |
字符串数组 | 定价层级的相关信息,包括以美元为单位的 SKU 价格以及以 Cloud Billing 帐号配置使用的货币为单位的 SKU 价格。 某些 SKU 只有一个价格层级。如果一个 SKU 有多个价格层级,则每个价格层级都会以单独的行显示。您可以使用 |
tiered_rates.pricing_unit_quantity |
浮点数 | SKU 的价格层级单位数量。例如,如果层级价格是每 1000000 个字节 $1,则此列将显示 1000000。 |
tiered_rates.start_usage_amount |
浮点数 | 指定价格层级的数量下限,以价格单位度量。例如,具有 3 个价格层级(如 0-100 个单位、101-1000 个单位和 1001 个以上单位)的 SKU 会显示 3 行价格,其中 0、101 和 1001 分别为 [tiered_rates].start_usage_amount 这三个值。 |
tiered_rates.usd_amount |
数字 | SKU 的价格(以美元为单位)。 |
tiered_rates.account_currency_amount |
数字 | 使用 currency_conversion_rate ,将 SKU 的层级价格从美元换算为 Cloud Billing 帐号配置使用的货币。此换算后的价格通过以下公式计算得出: 按本地货币收费时,Google 会根据主要金融机构发布的汇率将所列价格转换为相应的本地货币。包括针对以非美元货币结算而收取的任何附加费。我们将使用对 |
价格层级简介
SKU 价格按价格层级提供。价格层级根据不同层级级别提供价格结构。某些 SKU 只有一个价格层级,而其他 SKU 有多个价格层级。采用多层级价格的 SKU 示例包括:
- 具有免费用量层级的 SKU。例如:1-1000 个单位免费。1001 个以上单位按每个单位 $1 计费。
- 在 SKU 中,如果使用量超出一个层级的单位数,则单位价格会降低。例如:1-100 个单位,每个单位价格为 $5;101-1000 个单位,每个单位价格为 $4;1001 个单位以上,每个单位价格为 $3。
有关多层级价格的一些说明:
根据每日或每月 SKU 的
aggregation_interval
,层级用量计数器将重置为零。- 每日 SKU 会在每天凌晨 12 点重置(美国和加拿大太平洋时间)(UTC-8 或 UTC-7)。
- 每月 SKU 会在每个日历月(例如:一月、二月等)的第一天凌晨 12 点重置为零(美国和加拿大太平洋时间 (UTC-8 或 UTC-7))。
层级针对每个 Cloud Billing 帐号独立运作,并且不会汇总多个 Cloud Billing 帐号,即使项目属于同一个组织或属于同一个法律实体也是如此。
层级针对每个 SKU 独立运作:一个 SKU 的使用量只会影响该 SKU 的价格。目前,没有任何 SKU 会影响其他 SKU 的分层价格。
请注意,定价的 SKU 价格层级与合同价格的价格层级可能不完全一致。这种情况非常少见。
如果一个 SKU 有多个价格层级,则每个 SKU 层级价格会在价格表中以单独的行列出。您可以使用
tiered_rates.start_usage_amount
识别具有多个价格层级的 SKU。您可以根据编写查询的方式将 SKU 价格层级以嵌套数据或非嵌套数据的形式返回。如需详细了解嵌套数据和非嵌套数据,请参阅以下示例。
价格查询示例:返回具有多个价格层级的 SKU 的定价
您可以按表名称查询 BigQuery 数据。查询的 FROM
子句中使用的表名称通过以下三个值来确定:project.dataset.BQ_table_name。
这些示例中使用的常用值:
- 表名称:
project.dataset.cloud_pricing_export
- SKU ID:
2DA5-55D3-E679
(Cloud Run - 请求)
示例 1:返回嵌套数据
此示例查询单个 SKU 以返回 list_price
数据。此 SKU 有多个价格层级。定价字段值以嵌套在 SKU ID 这行下方的个别行显示。
标准 SQL
SELECT sku.id AS sku_id, sku.description AS sku_description, service.id AS service_id, service.description as service_description, list_price.* FROM my-billing-admin-project.my_billing_dataset.cloud_pricing_export WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND sku.id = "2DA5-55D3-E679" ;
查询结果:
行 | sku_id | sku_description | service_id | service_description | aggregation_info. aggregation_level |
aggregation_info. aggregation_interval |
tiered_rates. pricing_unit_quantity |
tiered_rates. start_usage_amount |
tiered_rates. usd_amount |
tiered_rates. account_currency_amount |
---|---|---|---|---|---|---|---|---|---|---|
1 | 2DA5-55D3-E679 | 请求 | 152E-C115-5142 | Cloud Run | ACCOUNT | MONTHLY | 1000000 | 0 | 0 | 0 |
1000000 | 2000000 | 0.4 | 0.4 |
示例 2:返回与同一表联接的未嵌套数据
此示例查询单个 SKU 以返回 list price
。SKU 有多个价格层级。该查询演示了如何使用 UNNEST
运算符来展平 tiered_rates
数组,并将各个字段与相同表联接,以便每个价格层级各占一行。
标准 SQL
SELECT sku.id AS sku_id, sku.description AS sku_description, service.id AS service_id, service.description as service_description, tier.* FROM `my-billing-admin-project.my_billing_dataset.cloud_pricing_export` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND sku.id = "2DA5-55D3-E679" ;
查询结果:
行 | sku_id | sku_description | service_id | service_description | pricing_unit_quantity | start_usage_amount | usd_amount | account_currency_amount |
---|---|---|---|---|---|---|---|---|
1 | 2DA5-55D3-E679 | 请求 | 152E-C115-5142 | Cloud Run | 1000000.0 | 0.0 | 0.0 | 0.0 |
2 | 2DA5-55D3-E679 | 请求 | 152E-C115-5142 | Cloud Run | 1000000.0 | 2000000.0 | 0.4 | 0.4 |
价格数据的所有查询示例
限制
将 Cloud Billing 数据导出到 BigQuery 时存在以下限制。
- 包含标准使用费和价格数据的 BigQuery 数据集仅反映设置 Cloud Billing 导出之日开始产生的 Google Cloud 结算数据。也就是说,Google Cloud 结算数据不会追溯添加,因此您不会看到启用导出之前的 Cloud Billing 数据。 如需了解详情,请参阅数据可用性。
- 包含详细使用费数据的 BigQuery 数据集反映首次启用导出功能的上个月月初开始产生的 Google Cloud 结算数据(除非是重新启用)。也就是说,仅针对当月和上月追溯添加 Google Cloud 结算数据。如需了解详情,请参阅数据可用性。
- 导出详细使用费数据时,您必须导出到配置了多区域位置(例如美国 (US) 或欧盟 (EU))的数据集。如果您选择的数据集不是多区域位置,这会导致 Cloud Billing 无法将详细结算数据写入该数据集中的相应表。
- 将结算数据导出到 BigQuery 时,系统不支持客户管理的加密密钥 (CMEK)。如果您为“结算数据”数据集启用了 CMEK,这会阻止 Cloud Billing 将结算数据写入该数据集中的相应表。您需要配置数据集以使用 Google 管理的密钥加密。
相关主题
与导出的 Cloud Billing 数据相关的主题
Google Cloud Console 中提供的费用和价格报告
- 查看您的 Cloud Billing 报告和费用趋势
- 查看并下载帐单或对帐单的费用详细信息
- 查看和下载 Google 云服务的价格信息
- 通过费用明细报告了解您节省的费用
- 分析您的承诺使用折扣的有效性
- 查看您的费用和付款记录