2.8. 使用所需列构建查询


构建自定义查询,以在可发送到成本管理的 CSV 文件中收集成本数据。将您的表命名为 'project.dataset.table_name' 格式,并包含 backticks。要确保成本管理可以处理 CSV 文件,您必须包含以下列:

例 2.1. 账单和服务列:

  • billing_account_id
  • service.id
  • service.description
  • sku.id
  • sku.description

例 2.2. 项目列:

  • project.id
  • project.name
  • project.ancestry_numbers

例 2.3. usage 列:

  • usage_start_time
  • usage_end_time
  • usage.amounts
  • usage.unit
  • usage.amount_in_pricing_units
  • usage.pricing_unit

例 2.4. 位置列:

  • location.location
  • location.country
  • location.region
  • location.zone

例 2.5. Cost 列:

  • cost
  • currency
  • currency_conversion_rate
  • credits
  • cost_type

例 2.6. 资源列:

  • resource.name
  • resource.global_name

例 2.7. 其他日期列:

  • partition_date
  • export_time

您还可以包括以下可选列用于基于标签的成本:

  • project.labels
  • labels
  • system_labels

2.8.1. 查询和自定义示例

重要

构建查询时,您应该对其进行自定义,以最适合您组织的需求。以下示例可以帮助您进行指导,但您应该针对您的环境进行调整。

以下示例查询会选择所有必需和可选列。它还包含一个 WHERE 子句,用于限制查询日期 2025-04-01 的数据量。某些列,如 'tags',格式为 json 字符串。使用 backticks 格式命名您的表,格式为 'project.dataset.table_name',以便您可以转义任何无效字符:

           SELECT
           billing_account_id,service.id,service.description,sku.id,sku.description,usage_start_time,usage_end_time,project.id,project.name,TO_JSON_STRING(project.labels),project.ancestry_numbers,TO_JSON_STRING(labels),TO_JSON_STRING(system_labels),location.location,location.country,location.region,location.zone,export_time,cost,currency,currency_conversion_rate,usage.amount,usage.unit,usage.amount_in_pricing_units,usage.pricing_unit,TO_JSON_STRING(credits),invoice.month,cost_type,resource.name,resource.global_name,DATE(_PARTITIONTIME) as partition_date
           FROM `my-project.my-dataset.my-table`
           WHERE TIMESTAMP_TRUNC(_PARTITIONTIME, DAY) = TIMESTAMP(‘2025-04-01’)
Copy to Clipboard

如果示例查询不够,您可以使用以下一些策略进一步自定义过滤:

  • 使用 WHERE 子句过滤出特定数据。例如,WHERE service.description LIKE '%Red Hat%' 会过滤掉所有没有包含"Red Hat"的描述信息。
  • 使用 conjunction 和 disjunction operator ANDOR 来进一步指定您的参数。
  • 使用列 service.description 过滤 BigQuery 或 Cloud Logging 等服务。
  • 使用列 project.idproject.numberproject.name 根据特定项目数据进行过滤。

    1. 使用 location.region 将数据过滤到特定区域。
    2. 在 BigQuery 中预览您的数据,以确保在将其发送到成本管理之前捕获正确的信息。

有关创建查询的更多信息,请参阅 Google 文档的 创建和使用表

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat