本文档介绍了导出到每个 BigQuery 表中的 Cloud Billing 详细使用费数据的架构参考信息。
详细使用费数据提供了标准使用费数据中包含的所有信息,以及提供精细的资源级费用数据的其他字段,例如产生资源用量的虚拟机或 SSD。详细的导出操作包括以下服务的精细费用信息:
|
|
|
按服务确定精细的费用数据
如需分析详细导出中的精细费用信息,请使用下表来识别包含特定资源相关信息的列。
| 服务说明 | 列 | 如何识别资源 |
|---|---|---|
| AlloyDB for PostgreSQL | service.description 和 resource.name 或 resource.global_name |
|
| App Engine | service.description 和 resource.name 或
resource.global_name |
|
| BigQuery | service.description 和 resource.name 或
resource.global_name
|
|
| Bigtable | service.description 和 resource.global_name |
|
| Cloud Data Fusion | service.description 和 resource.name 或 resource.global_name |
|
| Cloud Deploy | service.description 和 resource.name 或 resource.global_name |
|
| Cloud Run functions | service.description 和 resource.name 或
resource.global_name |
|
| Cloud Logging | service.description 和 resource.global_name |
|
| Cloud Run | service.description 和 resource.name 或
resource.global_name |
|
| Cloud SQL | service.description 和 resource.global_name |
|
| Cloud Storage | service.description 和 resource.global_name |
|
| Compute Engine | service.description 和 resource.name 或
resource.global_name |
|
| Dataflow | service.description 和 resource.name 或
resource.global_name
|
|
| Dataproc Metastore | service.description 和 resource.name 或 resource.global_name |
|
| Firestore 和 Datastore | service.description 和 resource.name 或
resource.global_name |
|
| Google Kubernetes Engine (GKE) | labels.key |
使用以下标签键来过滤资源:
如需查看详细费用数据导出中的精细 GKE 集群费用,您还必须为 GKE 启用费用分配。 |
| 托管式 Microsoft AD | service.description 和 resource.name 或 resource.global_name |
|
| Memorystore for Redis | service.description 和 resource.global_name |
|
| Secret Manager | service.description、resource.name 和 resource.global_name |
|
| Spanner | service.description 和 resource.global_name |
|
请参阅查询资源的精细数据示例。
详细使用费数据架构
在 BigQuery 数据集中,详细 Google Cloud使用费数据会加载到名为 gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID> 的数据表中。
在 BigQuery 中使用详细使用费数据时,请注意以下事项:
- 详细 Cloud Billing 数据导出的表架构随时可能会发生变化,例如在向详细导出添加新字段时。为了防止查询因未来可能发生的架构变化而受到影响,我们建议您使用 BigQuery 视图来标准化数据,而不是依赖于直接引用所导出列的查询,以便表向查询提供相同的架构。详细了解此限制。
- 为详细使用费用数据选择或创建 BigQuery 数据集时,您可以选择任何支持与 Cloud Billing 数据搭配使用的数据集位置。
- 当您在 Cloud Billing 中首次启用详细使用费用数据导出时,如果您选择配置为使用多区域位置(欧盟或美国)的数据集,则 Cloud Billing 数据将从上月初开始以追溯方式提供。数据按时间顺序导出。对于导出数据的初始回填,追溯性 Cloud Billing 数据最多可能需要 5 天完成导出,然后您才能开始看到最新的使用情况数据。
- 如果您启用详细使用费用数据导出并选择配置为使用受支持的单区域位置的数据集,则 Cloud Billing 数据将从您启用导出之日起开始提供。
- 如果您启用,停用且随后重新启用详细使用费用数据导出,可能不提供明确停用数据导出的时间段内的 Cloud Billing 数据。
- 详细了解数据加载到 BigQuery 表的频率。
- 请查看可能会影响将结算数据导出到 BigQuery 的其他限制,例如启用了客户管理的加密密钥 (CMEK) 的数据集。
- 启用详细使用费数据(而非标准使用费数据)时,请考虑 BigQuery 表可能需要的额外数据量以及额外费用。增加资源级信息的粒度会增加行数,系统会以标准使用费格式进行汇总。我们建议您查看在 BigQuery 中控制费用,以进一步了解管理 BigQuery 费用的最佳实践。
| 字段 | 类型 | 说明 |
|---|---|---|
billing_account_id |
字符串 | 与使用量相关的 Cloud Billing 账号 ID。 对于转销商:对于 Cloud Billing 子账号产生的使用费,这是子账号的 ID,而不是父级转销商的 Cloud Billing 账号的 ID。 |
invoice.month |
字符串 | 包含费用专列项的账单的年份和月份 (YYYYMM)。例如:“201901”相当于 2019 年 1 月。 您可以使用此字段获取账单上的总费用。请参阅将 Cloud Billing 数据导出至 BigQuery 查询的示例。 |
invoice.publisher_type |
字符串 | 指示与交易相关联的发布方。此字段支持在直接与 Google(第一方)进行的交易和与合作伙伴(第三方)进行的交易之间拆分账单,同时还会指明可能适用于交易的相关法规。 可能的值包括:
|
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、编号、名称、ancestry_number 和标签。
|
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 | 字符串 | 如果存在标签,则为 key:value 对的 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 |
浮点数 | 适用使用模式下的费用,包括与您的 Cloud Billing 账号相关联的合同中的自定义价格所反映的任何协商折扣(如适用)。 |
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 数据关联的处理时间。
每次导出新数据时,该值都会增加。 另请参阅下文的导出的数据和账单之间的区别。 |
tags |
结构体 | 描述标记的字段,例如键、值和命名空间。 |
tags.key |
字符串 | 与此特定标记关联的键的简称或显示名。 |
tags.value |
字符串 | 附加到 |
tags.inherited |
布尔值 | 指示标记绑定是继承的(继承的标记 = True)还是直接的/非继承的(继承的标记 = False)。您可以创建标记绑定来与资源层次结构中的父资源进行关联。 |
tags.namespace |
字符串 | 表示定义标记键和值的资源层次结构。命名空间可以与标记键和标记值简称组合使用,以为标记键或标记值创建全局唯一的完全限定名称。 |
cost_at_list |
浮点数 | 按默认使用模式计算的定价费用。 |
transaction_type |
字符串 | 卖家的交易类型。交易类型可能是以下各项之一:
|
seller_name |
字符串 | 卖家的法定名称。 |
price |
结构体 | 描述与支付的使用费相关的结构和值的字段。 |
price.list_price |
数字 | 默认使用模式下的 SKU 定价。 |
price.effective_price_default |
数字 | 默认使用模式下的 SKU 价格,包括与您的 Cloud Billing 账号相关联的合同中的自定义价格所反映的任何协商折扣(如果适用)。 |
price.list_price_consumption_model |
数字 | 适用使用模式下的 SKU 定价,不含与您的 Cloud Billing 账号相关联的合同中的自定义价格所反映的任何协商折扣(如适用)。 |
price.effective_price |
数字 | 适用使用模式下的 SKU 价格,包括与您的 Cloud Billing 账号相关联的合同中的自定义价格所反映的任何协商折扣(如果适用)。 |
price.tier_start_amount |
数字 | SKU 价格层级的下限单位数。如需了解详情,请参阅价格层级简介。 |
price.unit |
字符串 | 指定价格和衡量资源用量所依据的使用单位。 |
price.pricing_unit_quantity |
数字 | SKU 价格层级的下限单位数。如需了解详情,请参阅价格层级简介。 |
cost_at_effective_price_default |
数字 | 默认使用模式下的费用,包括与您的 Cloud Billing 账号相关联的合同中的自定义价格所反映的任何协商折扣(如果适用)。 |
cost_at_list_consumption_model |
数字 | 适用使用模式下的费用,不包括与您的 Cloud Billing 账号相关联的合同中的自定义价格所反映的任何协商折扣(如适用)。 |
consumption_model |
结构体 | 用于描述适用使用模式的字段。 |
consumption_model.id |
字符串 | 使用模式的 ID。 |
consumption_model.description |
字符串 | 使用模式的说明。 |
| 可用于导出详细使用费数据的其他字段 | ||
resource |
结构体 | 这些字段描述产生用量的服务资源(例如虚拟机或 SSD)的相关信息的结构和值。 |
resource.global_name |
字符串 | 产生相关用量的资源的全局唯一服务标识符。 |
resource.name |
字符串 | 生成相关用量的资源的特定于服务的标识符。这可以是用户生成的输入。 |
subscription |
结构体 | 描述基于支出或基于资源的承诺的字段。 您可以使用这些字段分析特定承诺的费用。 |
subscription.instance_id |
字符串 | 与承诺相关联的订阅 ID。 |
了解标准和详细使用费数据
以下部分介绍了导出到 BigQuery 的标准和详细使用费数据。
标签简介
特定标签的费用数据仅显示自该标签应用于资源之日起的使用情况。例如,如果您在 2024 年 1 月 15 日向 Compute Engine 虚拟机添加标签 environment:dev,则对 environment:dev 的任何分析都仅包括 1 月 15 日以后该虚拟机的使用情况。
您可能还会看到不同服务在不同时间的标签数据,具体取决于每项服务提供相应数据的时间。
可用的系统标签
系统标签是关于发生了使用的资源的重要元数据的键值对。以下系统标签会自动包含在适用的使用情况中。
system_labels.key |
示例 |
|---|