このドキュメントでは、BigQuery の各テーブルにエクスポートされる Cloud Billing 料金データのスキーマのリファレンス情報について説明します。
料金データのスキーマ
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。 |
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-east4 や EU などのマルチ リージョン)。 |
geo_taxonomy.type |
文字列 | SKU に関連付けられている地理的メタデータの種類。指定できる値は次のとおりです。
|
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 の費用が米ドル以外の通貨で請求されている場合、使用料金は、 現地通貨で請求される場合、料金の換算には大手金融機関の換算レートが使用されます。これには、米ドル以外の通貨で請求される追加料金が含まれます。Google では、 |
list_price |
構造体 |
正規価格は すべての顧客について、正規価格データが生成され、エクスポートされます。Cloud 請求先アカウントにカスタムの契約料金が設定されている場合は、billing-account-specific 料金データもエクスポートされます。 |
billing_account_price |
構造体 | 契約料金が設定されている場合は、これは Cloud 請求先アカウントにリンクされている契約による、カスタム SKU 価格です。
契約料金(Cloud 請求先アカウントに適用される場合)は |
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 が 2 つに分割されている場合がありますが、その場合、割引は古い SKU から新しい SKU に移行されます。 |
aggregation_info |
構造体 | 1 つの SKU の 料金階層の集計レベルと間隔を表します。 |
aggregation_info.aggregation_level |
文字列 | 料金階層の費用を計算するために使用量が集計されるレベル。
以下のレベルがあります。
|
aggregation_info.aggregation_interval |
文字列 | 料金階層の費用を計算するために使用量が集計される間隔。
間隔は以下のとおりです。
|
tiered_rates |
文字列の配列 | SKU の価格(米ドル)と Cloud 請求先アカウントが使用するように構成されている通貨で表した SKU の料金などの料金階層に関する情報。 一部の SKU には 1 つの料金階層のみが存在します。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 の階層価格。
この変換後の価格は、次の 現地通貨で請求される場合、料金の換算には大手金融機関の換算レートが使用されます。これには、米ドル以外の通貨で請求される追加料金が含まれます。Google では、 |
料金階層について
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 または UTC-7)の毎日午前 0 時にリセットされる日単位の SKU。
- カレンダー月(1 月、2 月など)の毎月 1 日に、米国とカナダの太平洋時間(UTC-8 または UTC-7)の午前 12 時にゼロにリセットされる月単位の SKU。
階層は Cloud 請求先アカウントごとに独立して動作し、プロジェクトが同じ組織に属している場合や同じ法人に属している場合でも、複数の Cloud 請求先アカウントにまたがって集計されることはありません。
階層は SKU ごとに独立して動作します。1 つの SKU の使用量は、その SKU の価格にのみ影響します。使用量が別の SKU の段階的料金に影響する SKU はありません。
正規価格の SKU 料金階層と交渉による価格の料金階層が必ずしも一致するとは限らないのでご注意ください。このような状況はめったに発生しません。
SKU に複数の段階的料金がある場合、各 SKU 階層の価格は、料金表で個別の行として表示されます。
tiered_rates.start_usage_amount
を使用して、複数の料金階層を持つ SKU を識別できます。クエリの作成方法によって、ネストしたデータまたはネストされていないデータとして SKU の料金階層を返すことができます。ネストされたデータとネストされていないデータの詳細については、以下の例をご覧ください。
料金データクエリの例
このセクションでは、BigQuery にエクスポートされた Cloud Billing 料金データをクエリする方法の例を示します。
このセクションでは、BigQuery にエクスポートされた Cloud Billing 料金データをクエリする方法のさまざまな例を示します。
料金クエリの例で使用している共通の値
このセクションのクエリの例では、次の値を使用しています。
- テーブル名:
project.dataset.cloud_pricing_export
- SKU ID:
2DA5-55D3-E679
(Cloud Run - リクエスト)
特定の SKU の正規価格を取得する
次の例は、指定した SKU の料金階層ごとに list_price
を返すクエリを示しています。
標準 SQL
SELECT sku.id, sku.description, list_price.* FROM `project.dataset.cloud_pricing_export` WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND sku.id = "2DA5-55D3-E679" ;
_PARTITIONTIME
は、BigQuery によって自動生成されるフィールドで、データが属する日付を表します。_PARTITIONTIME
の代わりに、Cloud Billing のエクスポートによって明示的に生成されるフィールド(pricing_as_of_time
など)を使用できます。
pricing_as_of_time
フィールドを使用するように構成された同じクエリを以下に示します。
SELECT sku.id, sku.description, list_price.* FROM `project.dataset.cloud_pricing_export` WHERE DATE(pricing_as_of_time) = "2020-07-20" AND sku.id = "2DA5-55D3-E679" ;
クエリ結果
Row | id | description | pricing_unit | 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 | Requests | COUNT | ACCOUNT | MONTHLY | 1000000 | 0 | 0 | 0 |
1000000 | 2000000 | 0.4 | 0.4 |
特定の SKU の正規価格を取得し、サービスの説明を含める
このセクションの 2 つの例は、指定された SKU の料金階層ごとに list_price
を返し、SKU の説明とサービスの説明を含めるクエリを示しています。
- 例 1 では、1 行ごとに 1 つの SKU が返され、料金階層はネストされたデータとして表示されています。
- 例 2 は、データのネストを解除して、料金階層ごとに SKU あたり 1 行を返す様子を示しています。
例 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" ;
クエリ結果:
Row | 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 | Requests | 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
配列をフラット化し、フィールドを同じテーブルに結合して、料金階層のそれぞれを 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` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND sku.id = "2DA5-55D3-E679" ;
クエリ結果:
Row | sku_id | sku_description | service_id | service_description | pricing_unit_quantity | start_usage_amount | usd_amount | account_currency_amount |
---|---|---|---|---|---|---|---|---|
1 | 2DA5-55D3-E679 | Requests | 152E-C115-5142 | Cloud Run | 1000000.0 | 0.0 | 0.0 | 0.0 |
2 | 2DA5-55D3-E679 | Requests | 152E-C115-5142 | Cloud Run | 1000000.0 | 2000000.0 | 0.4 | 0.4 |
商品分類と地域分類を使用して SKU をクエリする
- 商品分類は、サーバーレス、Cloud Run、オンデマンド VM などの SKU に適用される商品カテゴリのリストです。
- 地域分類は、タイプとリージョンの値で構成され、SKU に適用される地理的メタデータです。
SKU の商品分類を取得する
次の例は、指定された SKU の product_taxonomy
リストを返すクエリを示しています。ここでは、SKU ID = 2DA5-55D3-E679
(Cloud Run - リクエスト)です。
標準 SQL
SELECT sku.id AS sku_id, sku.description AS sku_description, service.id AS service_id, service.description as service_description, product_taxonomy FROM `project.dataset.cloud_pricing_export` WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND sku.id = "2DA5-55D3-E679" ;
クエリ結果:
Row | sku_id | sku_description | service_id | service_description | product_taxonomy |
---|---|---|---|---|---|
1 | 2DA5-55D3-E679 | Requests | 152E-C115-5142 | Cloud Run | GCP |
Serverless | |||||
Cloud Run | |||||
Other |
特定の商品分類に関するすべての SKU を取得する
次の例は、指定した product_taxonomy
と一致するすべての SKU を返すクエリを示しています。このクエリでは、product taxonomy
値として Serverless を指定しています。
標準 SQL
SELECT sku.id AS sku_id, sku.description AS sku_description, service.id AS service_id, service.description as service_description, product_taxonomy FROM `project.dataset.cloud_pricing_export` WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND "Serverless" in UNNEST(product_taxonomy) LIMIT 10 ;
クエリ結果:
Row | sku_id | sku_description | service_id | service_description | product_taxonomy |
---|---|---|---|---|---|
1 | 0160-BD7B-4C40 | Cloud Tasks Network Intra Region Egress | F3A6-D7B7-9BDA | Cloud Tasks | GCP |
Serverless | |||||
Cloud Tasks | |||||
Other | |||||
2 | FE08-0A74-7AFD | Cloud Tasks GOOGLE-API Egress | F3A6-D7B7-9BDA | Cloud Tasks | GCP |
Serverless | |||||
Cloud Tasks | |||||
Other | |||||
3 | A81A-32A2-B46D | Task Queue Storage Salt Lake City | F17B-412E-CB64 | App Engine | GCP |
Serverless | |||||
GAE | |||||
Other | |||||
TaskQueue |
特定の地域分類と商品分類に関するすべての SKU を取得する
次の例は、指定した geo_taxonomy
リージョンと、指定した product_taxonomy
と一致するすべての SKU を返すクエリを示しています。ここでは、region
= us-east4、product_taxonomy
= VMs On Demand です。
標準 SQL
SELECT sku.id AS sku_id, sku.description AS sku_description, service.id AS service_id, service.description as service_description, geo_taxonomy, product_taxonomy FROM `project.dataset.cloud_pricing_export` WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND "VMs On Demand" in UNNEST(product_taxonomy) AND geo_taxonomy.type = "REGIONAL" AND "us-east4" in UNNEST (geo_taxonomy.regions) ;
クエリ結果:
Row | sku_id | sku_description | service_id | service_description | geo_taxonomy.type | geo_taxonomy.regions | product_taxonomy |
---|---|---|---|---|---|---|---|
1 | 9174-81EE-425B | Sole Tenancy Premium for Sole Tenancy Instance Ram running in Virginia | 6F81-5844-456A | Compute Engine | REGIONAL | us-east4 | GCP |
Compute | |||||||
GCE | |||||||
VMs On Demand | |||||||
Memory: Per GB | |||||||
2 | C3B9-E891-85ED | Sole Tenancy Instance Ram running in Virginia | 6F81-5844-456A | Compute Engine | REGIONAL | us-east4 | GCP |
Compute | |||||||
GCE | |||||||
VMs On Demand | |||||||
Memory: Per GB | |||||||
3 | 6E2A-DCD9-87ED | N1 Predefined Instance Ram running in Virginia | 6F81-5844-456A | Compute Engine | REGIONAL | us-east4 | GCP |
Compute | |||||||
GCE | |||||||
VMs On Demand | |||||||
Memory: Per GB |
複数の料金階層を持つ SKU の正規価格を返す
BigQuery データは、テーブル名別にクエリします。クエリの FROM
句で使用されるテーブル名は、project.dataset.BQ_table_name
の 3 つの値を使用して決定されます。
以下の例で使用している共通の値:
- テーブル名:
project.dataset.cloud_pricing_export
- SKU ID:
2DA5-55D3-E679
(Cloud Run - Requests)
例 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" ;
クエリ結果:
Row | 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 | Requests | 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
配列をフラット化し、フィールドを同じテーブルに結合して、料金階層のそれぞれを 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` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier WHERE DATE(_PARTITIONTIME) = "2020-07-20" AND sku.id = "2DA5-55D3-E679" ;
クエリ結果:
Row | sku_id | sku_description | service_id | service_description | pricing_unit_quantity | start_usage_amount | usd_amount | account_currency_amount |
---|---|---|---|---|---|---|---|---|
1 | 2DA5-55D3-E679 | Requests | 152E-C115-5142 | Cloud Run | 1000000.0 | 0.0 | 0.0 | 0.0 |
2 | 2DA5-55D3-E679 | Requests | 152E-C115-5142 | Cloud Run | 1000000.0 | 2000000.0 | 0.4 | 0.4 |
関連トピック
エクスポートされた Cloud Billing データに関連するトピック
- BigQuery への Cloud Billing データのエクスポートを設定する
- BigQuery への Cloud Billing エクスポート データに対するクエリの例
- Looker Studio で一定期間の利用額を可視化する
Google Cloud コンソールで利用可能な費用と料金のレポート
- Cloud Billing レポートと費用傾向の表示
- 請求書または明細書の費用詳細の表示とダウンロード
- Google のクラウド サービスの料金を表示し、ダウンロードする
- 費用の内訳レポートでコスト削減を把握する
- 確約利用割引の効果の分析
- 費用とお支払い履歴の表示