BigQuery の Cloud Billing データテーブルについて

このページでは、BigQuery の各テーブルへエクスポートされる Cloud Billing データのスキーマの参考情報を提供します。

課金データテーブル

BigQuery への Cloud Billing のエクスポートを有効にした直後に、課金データテーブルが BigQuery データセットに自動的に作成されます。

  • 1 日の費用の詳細テーブル - BigQuery データセットでは、このテーブルには gcp_billing_export_v1_<BILLING_ACCOUNT_ID> という名前が付けられています。
  • 料金テーブル - BigQuery データセットでは、このテーブルには cloud_pricing_export という名前が付けられています。

データの読み込み頻度

1 日あたりの費用の詳細のエクスポート:

  • BigQuery への 1 日あたりの費用の詳細のエクスポートを最初に有効にした際には、Google Cloud の費用データが表示されるまでに数時間かかる場合があります。
  • Google Cloud サービスは、Cloud Billing プロセスに使用量データと費用データについてさまざまな間隔で報告します。
  • Cloud Billing は、使用量と費用に関するデータを BigQuery データセットに定期的にエクスポートします(BigQuery へのエクスポートに対する配信やレイテンシの保証はありません)。
  • 使用状況レポートの頻度は Google Cloud サービスによって異なるため、最近使用した Google Cloud サービスの Cloud Billing の使用状況と費用のデータが表示されない場合があります。

料金のエクスポート:

  • BigQuery への料金データのエクスポートを最初に有効にした際には、Google Cloud の料金データが表示されるまでに最大 48 時間かかる場合があります。
  • 料金データのエクスポートを有効にすると、Cloud 請求先アカウントに適用される料金データが 1 日に 1 回 BigQuery にエクスポートされます。

データの可用性:

  • BigQuery データセットには、最初にエクスポートを有効にした日付以降に発生した Cloud Billing データのみが反映されます。Cloud Billing データは過去にさかのぼって追加されないため、エクスポートを有効にする前に使用した Cloud Billing データは表示されません。
  • エクスポートされたデータ(BigQuery エクスポート レコードなど)を削除した場合、削除されたレコードをバックフィルすることはできません。
  • BigQuery の読み込みは ACID に準拠しているため、データの読み込みが完了する前に BigQuery Cloud Billing のエクスポート データセットにクエリを実行しても、読み込み途中のデータが取得されることはありません。BigQuery の特性については、こちらをご覧ください。

1 日あたりの費用の詳細データのスキーマ

BigQuery データセットで、Google Cloud の 1 日あたりの費用の詳細データが gcp_billing_export_v1_<BILLING_ACCOUNT_ID> というデータテーブルに読み込まれます。

以下の情報は、BigQuery にエクスポートされる Google Cloud の 1 日あたりの費用データのスキーマについて説明したものです。

項目 タイプ 説明
billing_account_id 文字列

使用量が関連付けられている Cloud 請求先アカウント ID。

販売パートナー向け: Cloud Billing サブアカウントで生成された使用量の費用の場合、これはサブアカウントの ID になります。親である販売パートナーの Cloud 請求先アカウントの ID ではありません。

invoice.month 文字列

費用項目を含む請求書の年と月(YYYYMM)。たとえば、「201901」は 2019 年 1 月に相当します。

このフィールドを使用して、請求書の合計金額を取得できます。BigQuery クエリへの Cloud Billing のエクスポート例をご覧ください。

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 ドキュメントの Timestamp データ型に関する説明をご覧ください。以下のエクスポートされたデータと請求書の相違もご覧ください。

usage_end_time タイムスタンプ 指定された費用の計算が終了した時間(時間単位)すべてのサービスの使用量とコストは時間単位で表示されます。つまり、長時間実行されるサービスの場合、作業時間が複数の時間単位のウィンドウにまたがります。

詳細については、BigQuery ドキュメントの Timestamp データ型に関する説明をご覧ください。以下のエクスポートされたデータと請求書の相違もご覧ください。

project.id 文字列 Cloud Billing データを生成した Google Cloud プロジェクトの ID。
project.name 文字列 Cloud Billing データを生成した Google Cloud プロジェクトの名前。
project.ancestry_numbers 文字列 指定された project.id(たとえば、my-project-123)で識別されるプロジェクトのリソース階層に含まれる祖先。

たとえば、/ParentOrgNumber/ParentFolderNumber/ のようになります。詳細については、リソース階層をご覧ください。

project.labels.key 文字列 ラベルがある場合、使用量が発生した Google Cloud プロジェクトのラベルを構成する Key-Value ペアの key の部分です。ラベルの使用について詳しくは、ラベルの使用をご覧ください。
project.labels.value 文字列 ラベルがある場合、使用量が発生した Google Cloud プロジェクトのラベルを構成する Key-Value ペアの value の部分です。ラベルの使用について詳しくは、ラベルの使用をご覧ください。
labels.key 文字列 ラベルがある場合、使用量が発生した Google Cloud リソースのラベルを構成する Key-Value ペアの key の部分です。ラベルの使用について詳しくは、ラベルの使用をご覧ください。
labels.value 文字列 ラベルがある場合、使用量が発生した Google Cloud リソースのラベルを構成する Key-Value ペアの value の部分です。ラベルの使用について詳しくは、ラベルの使用をご覧ください。
system_labels.key 文字列 システムラベルが存在する場合は、使用量が発生したリソースのシステムラベルを構成する Key-Value ペアの key の部分です。使用可能なシステムラベルもご覧ください。
system_labels.value 文字列 システムラベルが存在する場合は、使用量が発生したリソースのシステムラベルを構成する Key-Value ペアの value の部分です。使用可能なシステムラベルもご覧ください。
location.location 文字列 使用が発生した国、リージョンまたはゾーンレベルでのロケーション。特定のロケーションのないリソースは global です。詳しくは、リージョンとゾーンをご覧ください。
location.country 文字列 location.location が国、リージョンまたはゾーンの場合、このフィールドは国になります(例: US)。詳しくは、リージョンとゾーンをご覧ください。
location.region 文字列 location.location が国またはリージョンの場合、このフィールドはリージョンになります(例: us-central1)。詳しくは、リージョンとゾーンをご覧ください。
location.zone 文字列 location.location がゾーンの場合、このフィールドはゾーンになります(例: us-central1-a)。詳しくは、リージョンとゾーンをご覧ください。
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.id フィールドが空の場合、商品の SKU はクレジットに関連付けられていません。

credits.full_name 文字列 商品の SKU に関連付けられたクレジットの名前。これは、人が読める英数字credits.id の説明です。例としては、無料トライアルのクレジットまたは費用ベースの確約利用割引があります。

credits.full_name 値は、英数字の credits.id を持つ SKU にのみ存在します。credits.id の値がクレジットの種類の説明(確約利用割引 CPU など)の場合、credits.full_name フィールドは空になります。

credits.type 文字列 このフィールドは、credits.id の目的または送信元を示します。以下のようなクレジット タイプがあります。
  • COMMITTED_USAGE_DISCOUNT: VM 使用量に応じて大幅な割引価格が適用される Compute Engine 用に購入したリソースベースの確約利用契約。
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE: 最小限の使用量分の費用を支払うことの確約と引き換えにサービスに対して購入した費用ベースの確約利用契約。
  • DISCOUNT: 割引クレジットの種類は、契約上の基準費用額を満たしたことで獲得されたクレジットに使用されます。Cloud Console で利用可能な Cloud Billing レポートでは、割引クレジットの種類は、費用ベースの割引(契約上)として一覧表示されます。
  • FREE_TIER: 一部のサービスでは、指定された上限まで無料でリソースを使用できます。これらのサービスでは、無料枠の使用の実現にクレジットが適用されます。
  • PROMOTION: プロモーション クレジットの種類には、Google Cloud の無料トライアルとマーケティング キャンペーンのクレジット、または Google Cloud を使用するための他の資金援助があります。プロモーション クレジットが利用可能な場合は、お支払い方法として利用すると、自動的に適用されて合計請求額を削減します。
  • RESELLER_MARGIN: 販売パートナーの場合、販売パートナーのマージンのクレジットの種類が、すべての有効な項目で獲得された販売パートナー プログラム割引であることを示します。
  • SUBSCRIPTION_BENEFIT: 割引の代わりにサービスへの長期サブスクリプションを購入することで獲得したクレジット。
  • SUSTAINED_USAGE_DISCOUNT: 継続利用割引のクレジットの種類は、請求月の一定の割合の特定の Compute Engine リソースを実行することで獲得される自動的に適用される割引です。
credits.name 文字列 Cloud 請求先アカウントに適用されたクレジットの説明。
credits.amount 浮動小数点数 使用量に適用されるクレジットの金額。クレジットは常に負の金額です。
export_time タイムスタンプ Cloud Billing データの追加に関連する処理時間。 これは、新しいエクスポートごとに常に増加します。
以下のエクスポートされたデータと請求書の相違もご覧ください。

ラベルについて

BigQuery データセットにはラベルの列が表示されますが、現在のリリースではラベル値が空になるものがあります。ラベルのエクスポート データが取り込まれる時間はサービスに応じて異なり、各サービスが提供するタイミングによって決まります。

使用可能なシステムラベル

システムラベルは、使用量データを生成したリソースに関する重要なメタデータを含む Key-Value ペアです。以下のシステムラベルが自動的に適用されます。

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×1,024 MB/GB)、custom-2-2048 の場合は 2048 仮想マシンで使用可能なメモリ量(MB 単位)。

エクスポートされたデータと請求書の相違

Google Cloud サービスが Cloud Billing プロセスに使用量データと費用データを報告する間隔はさまざまです。このため、使用量が報告されるまでに多少の遅延(最大数日間)が生じる場合もあります。遅れて報告された使用量がその月の請求書に含まれず、翌月の請求書に繰り越される場合があります。ただし、使用量のタイムスタンプは、Cloud Billing プロセスに報告された実際の使用日時を表します。

タイムスタンプ フィールドを使用して費用を照会すると、返されたデータに、報告が遅れたために同じ月に生成された請求書に含まれていない使用量が含まれていることがあります。このため、返された Cloud Billing データとその請求書が直接マッピングできないことがあります。

タイムスタンプ フィールドには次のものが含まれます。

  • usage_start_time
  • usage_end_time
  • export_time

請求書に直接マッピングされた Cloud Billing データを返すには、タイムスタンプ フィールドではなく invoice.month を使用します。

2020 年 9 月 1 日以降、1 日の費用の詳細データには、単一の項目ではなく、プロジェクトごとの納税義務額が表示されます。税金データに依存するクエリや可視化がある場合は、これらの変更に対応するためにクエリの更新が必要になることがあります。

たとえば、9 月 1 日より前に記録された費用については、次の例のように、費用の詳細データで税金の詳細データの納税義務総額が $10 と表示されます。

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project 標準 $60
123456-ABCDEF-123456 test-project 標準 $40
123456-ABCDEF-123456 [空白] $10

9 月 1 日以降に記録された費用については、$10 が example-project の $6 と test-project の $4 に分割されます。

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project 標準 $60
123456-ABCDEF-123456 test-project 標準 $40
123456-ABCDEF-123456 example-project $6
123456-ABCDEF-123456 test-project $4

エラーと調整

万が一、Cloud Billing データにエラーが含まれていた場合や調整が必要な場合は、エラーを打ち消すデータが Cloud Billing データに追加されます。次の列以外は変更されません。

  • cost
  • credit
  • usage.amount
  • export_time

新しいデータを確認するには、クエリで export_time を取得します。

1 日あたりの費用の詳細データに対するクエリの例

1 日あたりの費用の詳細クエリの例


料金データのスキーマ

BigQuery データセットで、Cloud 請求先アカウントの料金データは cloud_pricing_export というデータテーブルに読み込まれます。

次の情報は、BigQuery にエクスポートされる Cloud 請求先アカウントの料金データのスキーマについて説明しています。

項目 タイプ 説明
export_time タイムスタンプ Cloud Billing データの追加に関連する処理時間。 これは、新しいエクスポートごとに常に増加します。
pricing_as_of_time タイムスタンプ Cloud Billing アカウントに適用される料金データは、1 日に 1 回生成され、BigQuery にエクスポートできるように準備を行います。これは、料金データが生成されるときの日単位のタイムスタンプです。
billing_account_id 文字列

料金が関連付けられている Cloud 請求先アカウント ID。

販売パートナー向け: Cloud Billing サブアカウントに関連付けられた料金の場合、これは親である販売パートナーの Cloud 請求先アカウントの ID ではなく、サブアカウントの ID です。

billing_account_name 文字列

料金が関連付けられている Cloud 請求先アカウントの名前。

business_entity_name 文字列 SKU を提供するサービスの Google サービス ファミリーの名前。値には、GCP(Google Cloud)またはマップ(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 文字列の配列 サーバーレス、Cloud Run、TaskQueue、オンデマンド VM、Cores: Per Core など、SKU に適用される商品カテゴリのリスト。
geo_taxonomy 構造体 SKU に適用される地理的メタデータ(us-east4EU などのマルチ リージョン)。
geo_taxonomy.type 文字列 SKU に関連付けられている地理的メタデータの種類。指定できる値は次のとおりです。
  • GLOBAL – リージョンがありません
  • REGIONAL – 1 つのリージョンがあります
  • MULTI_REGION - 2 つ以上のリージョンがあります
geo_taxonomy.regions 文字列の配列 その SKU に関連付けられている Google Cloud リージョン。例: Europe-west2 または US

リージョンは、ロンドンなどの特定の地理的な場所となります。 マルチリージョンは、米国などの、2 つ以上の地理的な場所を含む広い地理的なエリアです。

pricing_unit 文字列 料金が設定されている使用量の単位の略語です(GiBy.mo など)。
pricing_unit_description 文字列 人が読める形式の使用量の単位の説明(GiB-月など)。
account_currency_code 文字列 Cloud 請求先アカウントが動作するように構成する通貨。ISO 4217 で定義されている 3 文字の通貨コードを使用します。詳細については、請求と自動支払いの現地通貨をご覧ください。
currency_conversion_rate 文字列 Cloud 請求先アカウントが動作するように構成されている米ドルから現地通貨への為替レート。Cloud 請求先アカウントの通貨が USD の場合、為替レートのデフォルト値は 1.0 です。

Cloud Billing の費用が米ドル以外の通貨で請求されている場合、使用料金cost ÷ currency_conversion_rate = 米ドルでの使用料の式で米ドルに換算できます。

Googleが現地通貨で請求する場合、主要な金融機関が発表した換算レートに従って、価格を該当する現地通貨に換算します。これには、米ドル以外の通貨で請求される追加料金が含まれます。Google では、pricing_as_of_time に適用されるレートを使用しています。

list_price 構造体

pricing_as_of_time 時点で有効な Google Cloud または Google Maps Platform の SKU と SKU の料金階層

list_price には、次のような正規価格の構造と値を記述するフィールドが含まれています。

正規価格は list_price.tiered_rates.usd_amount で確認できます。

すべての顧客について、正規価格データが生成され、エクスポートされます。Cloud 請求先アカウントにカスタムの契約料金が設定されている場合は、billing-account-specific 料金データもエクスポートされます。

billing_account_price 構造体

契約料金が設定されている場合は、これは Cloud 請求先アカウントにリンクされている契約による、交渉済みの SKU 価格です。

billing_account_price には、Google Cloud、Google Maps Platform の SKU、SKU の料金階層の交渉済み価格の構造と値を記述するフィールドが含まれます。billing_account_price には以下の対象が含まれます。

契約料金(Cloud 請求先アカウントに適用される場合)は billing_account_price.tiered_rates.usd_amount で確認できます。

price_info 構造体 契約料金に関する背景情報。
price_info.price_reason 文字列

契約価格の根拠に関する背景情報。

理由は次のとおりです。

  • FIXED_DISCOUNT: 正規価格からの割引率。適用日の時点での正規価格に関連付けられます。
  • FLOATING_DISCOUNT: 現在の正規価格からの割引率(特定の日付の時点での正規価格には関連付けられません)。
  • MIGRATED_PRICE: これは他の SKU から移行された価格に適用されます。
  • MERGED_PRICE: 複数のソースからの統合後の SKU 価格。たとえば、結合された階層では、個々の階層が、さまざまな割引タイプのさまざまなソースから統合されることがあります。
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 が 2 つに分割されている場合がありますが、その場合、割引は古い SKU から新しい SKU に移行されます。
aggregation_info 構造体 1 つの SKU の料金階層の集計レベルと間隔を表します。
aggregation_info.aggregation_level 文字列 料金階層の費用を計算するために使用量が集計されるレベル。

以下のレベルがあります。

  • ACCOUNT: 複数階層の SKU を示します。料金階層の SKU 使用量は、1 つの Cloud 請求先アカウントのすべてのプロジェクトで集計されます。
  • PROJECT: 複数階層料金の SKU を示します。料金階層の SKU 使用量は、プロジェクトごとに集計されます。
  • UNKNOWN_AGGREGATION_LEVEL: 単一階層の料金の SKU を示します。これは、階層化されていない料金の SKU のデフォルト値です。
aggregation_info.aggregation_interval 文字列 料金階層の費用を計算するために使用量が集計される間隔。

間隔は以下のとおりです。

  • ONE_DAY: 複数階層料金の SKU を示します。料金階層の SKU 使用量は、毎日集計されます。
  • ONE_MONTH: 複数階層料金の SKU を示します。料金階層の SKU 使用量は、毎日集計されます。
  • UNKNOWN_AGGREGATION_INTERVAL: 単一階層の料金の SKU を示します。これは、階層化されていない料金の SKU のデフォルト値です。
tiered_rates 文字列の配列 SKU の価格(米ドル)と Cloud 請求先アカウントが使用するように構成されている通貨で表した SKU の料金などの料金階層に関する情報。

一部の SKU には 1 つの料金階層のみが存在します。SKU に複数の料金階層がある場合、各料金階層は異なる行として表示されます。tiered_rates.start_usage_amount を使用して、複数の料金階層を持つ SKU を識別できます。

tiered_rates.pricing_unit_quantity Float SKU の料金階層の単位数量。たとえば、1000000 バイトあたり $1 の料金階層の場合、この列には 1000000 が表示されます。
tiered_rates.start_usage_amount Float この料金階層の最低料金(単価)。たとえば、1~100 ユニット、101~1000 ユニット、1001 以上のユニットなど、3 つの料金階層がある SKU では、[tiered_rates].start_usage_amount の値として、0、101、1001 の 3 つの価格の行が表示されます。
tiered_rates.usd_amount 数値 SKU の料金(米ドル)。
tiered_rates.account_currency_amount 数値 米ドルから currency_conversion_rate を使用して Cloud 請求先アカウントが使用するように構成された通貨に変換された SKU の階層価格。

この変換後の価格は、次の tiered_rates.usd_amount * currency_conversion_rate = tiered_rates.account_currency_amount 式を使用して計算されます。

現地通貨で請求される場合、料金の換算には大手金融機関の換算レートが使用されます。これには、米ドル以外の通貨で請求される追加料金が含まれます。Google では、pricing_as_of_time に適用されるレートを使用しています。

料金階層について

SKU の料金は、料金階層で指定されます。料金階層は、さまざまな階層レベルに基づく料金体系を示しています。一部の SKU は 1 つの料金階層のみを持ち、その他の SKU は複数の料金階層を持ちます。複数の料金階層で構成される SKU の例には次のものがあります。

  • 無料使用枠付きの SKU。たとえば、1~1,000 ユニットは無料です。1,001 以上のユニットは、それぞれ $1 の料金となります。
  • 階層内の使用量が超過すると、単価が引き下げられる SKU。たとえば、1~100 ユニットの単価は $5、101~1000 ユニットの単価が $4、1001 以上のユニットの単価は $3 に設定されます。

複数階層の料金に関する注意事項:

  • 階層の使用カウンタは、SKU の aggregation_interval(日単位または月単位)に基づいてゼロにリセットされます。

    • アメリカおよびカナダ時間(UTC-8)の毎日午前 12 時にリセットされる日単位の SKU。
    • カレンダー月の毎月 1 日(例: 1 月、2 月~)に、米国とカナダの太平洋時間(UTC-8)の午前 12 時にゼロにリセットされる月単位の SKU。
  • 階層は Cloud 請求先アカウントごとに独立して動作し、プロジェクトが同じ組織に属している場合や同じ法人に属している場合でも、複数の Cloud 請求先アカウントにまたがって集計されることはありません。

  • 階層は SKU ごとに独立して動作します。1 つの SKU の使用量は、その SKU の価格にのみ影響します。現在、使用量が別の SKU の段階的料金に影響する SKU はありません。

  • 正規価格の SKU 料金階層と交渉による価格の料金階層が必ずしも一致するとは限らないのでご注意ください。このような状況はめったに発生しません。

  • SKU に複数の段階的料金がある場合、各 SKU 階層の価格は、料金表で個別の行として表示されます。 tiered_rates.start_usage_amount を使用して、複数の料金階層を持つ SKU を識別できます。

  • クエリの作成方法によって、ネストしたデータまたはネストされていないデータとして SKU の料金階層を返すことができます。ネストされたデータとネストされていないデータの詳細については、以下の例をご覧ください

料金クエリの例: 複数の料金階層を含む SKU の正規価格を返す

BigQuery データは、テーブル名別にクエリします。クエリの FROM 句で使用されるテーブル名は、project.dataset.BQ_table_name の 3 つの値を使用して決定されます。

以下の例で使用している共通の値:

  • テーブル名: 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 アカウント 1 か月あたり 1000000 0 0 0
            1000000 2000000 40% 40%

例 2: 同じテーブルに結合されたネストされていないデータを返す

この例では、単一の SKU でクエリを実行して list price を返しています。SKU には複数の料金階層があります。このクエリでは、UNNEST 演算子を使用して tiered_rates 配列をフラット化し、同じテーブルを使用してフィールドに結合するため、料金階層ごとに 1 行となります。

標準 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`, 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 40% 40%

料金データのすべてのクエリ例

料金データクエリの例

Google Cloud Console で利用可能な費用と料金のレポート