详细数据导出的结构

本文档介绍了导出到每个 BigQuery 表中的 Cloud Billing 详细使用费数据的架构参考信息。

详细使用费数据提供了标准使用费数据中包含的所有信息,以及提供精细的资源级费用数据的其他字段,例如产生资源用量的虚拟机或 SSD。详细的导出操作包括以下服务的精细费用信息:

  • AlloyDB for PostgreSQL
  • App Engine
  • BigQuery
  • Bigtable
  • Cloud Data Fusion
  • Cloud Deploy
  • Cloud Run functions
  • Cloud Logging
  • Cloud Run
  • Cloud SQL
  • Cloud Storage
  • Compute Engine
  • Dataflow
  • Dataproc Metastore
  • Firestore 和 Datastore
  • Google Kubernetes Engine (GKE)
    如需在详细的数据导出中查看 GKE 集群费用的明细,您还必须为 GKE 启用费用分配
  • 托管式 Microsoft AD
  • Memorystore for Redis
  • Secret Manager
  • Spanner

按服务确定精细的费用数据

如需分析详细导出中的精细费用信息,请使用下表来识别包含特定资源相关信息的列。

服务说明 如何识别资源
AlloyDB for PostgreSQL service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

App Engine service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

BigQuery service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Bigtable service.descriptionresource.global_name

service.description 列包含服务的名称。resource.global_name 列包含资源的唯一标识符。

Cloud Data Fusion service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Cloud Deploy service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Cloud Run functions service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。 resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Cloud Logging service.descriptionresource.global_name

service.description 列包含服务的名称。resource.global_name 列包含资源的唯一标识符。

Cloud Run service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

:此服务的第一个全天数据是 2022 年 12 月 1 日。
Cloud SQL service.descriptionresource.global_name

service.description 列包含服务的名称,而 resource.global_name 列包含资源的唯一标识符。

Cloud Storage service.descriptionresource.global_name

service.description 列包含服务的名称。resource.global_name 列包含资源的唯一标识符。

Compute Engine service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Dataflow service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Dataproc Metastore service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Firestore 和 Datastore service.descriptionresource.nameresource.global_name

service.description 列将显示 App Engine。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Google Kubernetes Engine (GKE) labels.key

使用以下标签键来过滤资源:

  • goog-fleet-project:如果集群已注册到舰队,则按舰队宿主项目过滤集群资源。
  • goog-k8s-cluster-location:按位置过滤 GKE 资源。
  • goog-k8s-cluster-name:按集群过滤 GKE 资源。
  • goog-k8s-node-pool-name:按节点池过滤集群资源。
  • k8s-namespace:按命名空间过滤 GKE 资源。
  • k8s-namespace-labels:按 舰队命名空间标签过滤 GKE 资源。
  • k8s-label:查看所有 GKE 资源。

如需查看详细费用数据导出中的精细 GKE 集群费用,您还必须为 GKE 启用费用分配

请参阅在 BigQuery 导出中过滤 GKE 数据的示例查询

托管式 Microsoft AD service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Memorystore for Redis service.descriptionresource.global_name

service.description 列包含服务的名称。resource.global_name 列包含资源的唯一标识符。

Secret Manager service.descriptionresource.nameresource.global_name

service.description 列包含服务的名称。resource.name 列包含用户提供的名称。resource.global_name 列包含资源的唯一标识符。

Spanner service.descriptionresource.global_name

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(第一方)进行的交易和与合作伙伴(第三方)进行的交易之间拆分账单,同时还会指明可能适用于交易的相关法规。

可能的值包括:
  • GOOGLE:由 Google Cloud进行的未受监管的第一方交易。
  • PARTNER:由合作伙伴进行的第三方交易,无论是否受监管。
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.id 字段为空,则产品 SKU 不会与任何赠金相关联。

credits.full_name 字符串 与产品 SKU 关联的赠金名称。这是字母数字 credits.id 的直观易懂的说明。 示例包括:免费试用赠金基于支出的承诺使用折扣

credits.full_name 值仅适用于具有字母数字 credits.id 的 SKU。如果 credits.id 的值是赠金类型(如承诺使用折扣:CPU)的说明,则 credits.full_name 字段将为空。

credits.type 字符串 此字段说明 credits.id 的用途或来源。 赠金类型包括:
  • FEE_UTILIZATION_OFFSET 对于新的基于支出的 CUD 折扣,此赠金用于抵消购买 CUD 时支付的费用。采用新模式时,您可以以折扣价购买承诺。当您使用 CUD 涵盖的 SKU 时,此赠金会抵扣相应费用。当您充分利用承诺时,抵扣会将费用降至零,并且系统会以折扣价对符合条件的 SKU 用量收费。
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE:对于不属于新价格模式的旧版基于支出的承诺使用折扣 (CUD),此字段表示您承诺在特定区域为服务支付最低金额而获得的赠金。
  • COMMITTED_USAGE_DISCOUNT:为 Compute Engine 购买的基于资源的承诺使用合约,以获得大幅度的虚拟机使用费折扣。
  • DISCOUNT:折扣赠金类型用于达到合同支出阈值后获得的赠金。请注意,在 Google Cloud 控制台提供的 Cloud Billing 报告中,折扣赠金类型被列为“基于支出的折扣”
  • FREE_TIER:某些服务允许在指定限额内免费使用资源。对于这些服务,赠金用于实现免费层级使用量。
  • PROMOTION:促销赠金类型包括基于支出的里程碑赠金 Google Cloud 免费试用和营销活动赠金,或其他 Google Cloud用量补贴。在适用情况下,促销赠金会被视为一种付款方式,并会自动应用以减少您的账单总额。
  • RESELLER_MARGIN:如果您是转销商,转销商利润赠金类型表示每个符合条件的专列项获得的转销商计划折扣。
  • SUBSCRIPTION_BENEFIT:通过购买服务的长期订阅以换取折扣而获得的赠金。
  • SUSTAINED_USAGE_DISCOUNT:持续使用折扣赠金类型是因在结算月份的大部分时间内运行符合条件的 Compute Engine 资源而获得的自动折扣,无需任何承诺。
credits.name 字符串 对 Cloud Billing 账号应用的赠金的说明。
credits.amount 浮点数 对使用量应用的赠金金额。
adjustment_info 结构体 adjustment_info 包含的字段说明与 Cloud Billing 账号关联的费用专列项的调整项的结构和值。

仅当为 Cloud Billing 修改生成了费用专列项时,才会显示 adjustment_info 值。更正或非更正原因均可能导致修改。adjustment_info 类型包含调整项的详细信息,无论调整项是出于更正错误还是其他原因发出。

adjustment_info.id 字符串 如果存在,则表示费用专列项有一个关联的调整项。adjustment_info.id 是与某个问题相关联的所有调整项的唯一 ID。
adjustment_info.description 字符串 调整项及其原因的说明。
adjustment_info.type 字符串

调整项的类型。

类型包括:

  • USAGE_CORRECTION:错误报告的使用量导致的更正。
  • PRICE_CORRECTION:错误的定价规则导致的更正。
  • METADATA_CORRECTION:为修复元数据进行的更正,不更改费用。
  • GOODWILL:出于善意向客户发放的赠金。
  • SALES_BASED_GOODWILL:作为合同的一部分,出于善意向客户发放的赠金。
  • SLA_VIOLATION:由于服务等级目标 (SLO) 违规而向客户发放的赠金。
  • BALANCE_TRANSFER:将资金从一个付款账号转移到另一个付款账号的调整项。
  • ACCOUNT_CLOSURE:将已关闭账号的余额变为零的调整项。
  • GENERAL_ADJUSTMENT:常规的结算账号修改。
adjustment_info.mode 字符串

发出调整项的方式。

模式包括:

  • PARTIAL_CORRECTION:更正部分取消原始使用量和费用。
  • COMPLETE_NEGATION_WITH_REMONETIZATION:更正完全取消原始使用量和费用,并使用更新后的使用量和费用发出更正后的专列项。
  • COMPLETE_NEGATION:更正完全取消原始使用量和费用,并且不再重新计算使用量的费用。
  • MANUAL_ADJUSTMENT:手动将调整项分配给费用和使用量。
export_time 时间戳 与附加的 Cloud Billing 数据关联的处理时间。 每次导出新数据时,该值都会增加。
另请参阅下文的导出的数据和账单之间的区别
tags 结构体

描述标记的字段,例如键、值和命名空间。

tags.key 字符串

与此特定标记关联的键的简称或显示名。

tags.value 字符串

附加到 tags.key 的资源。在任何给定时间,对于给定键,一个资源只能附加一个值。

tags.inherited 布尔值

指示标记绑定是继承的(继承的标记 = True)还是直接的/非继承的(继承的标记 = False)。您可以创建标记绑定来与资源层次结构中的父资源进行关联。

tags.namespace 字符串

表示定义标记键和值的资源层次结构。命名空间可以与标记键和标记值简称组合使用,以为标记键或标记值创建全局唯一的完全限定名称。

cost_at_list 浮点数

按默认使用模式计算的定价费用。

transaction_type 字符串

卖家的交易类型。交易类型可能是以下各项之一:

  • GOOGLE = 1: Google Cloud出售的服务。
  • THIRD_PARTY_RESELLER = 2: Google Cloud转售的第三方服务。
  • THIRD_PARTY_AGENCY = 3:合作伙伴出售的第三方服务,由 Google Cloud充当代理商。
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 示例