本文提供匯出至 BigQuery 各資料表的 Cloud Billing 定價資料結構定義參考資訊。
價格資料的結構定義
在您的 BigQuery 資料集中,Cloud Billing 帳戶價格資料會載入至名為 cloud_pricing_export
的資料表。
以下資訊說明匯出至 BigQuery 的 Cloud Billing 帳戶定價資料結構定義。
欄位 | 類型 | 說明 |
---|---|---|
export_time |
時間戳記 | 與附加 Cloud Billing 資料相關聯的處理時間。
每次執行新的匯出作業後,這個值一定會增加。 |
pricing_as_of_time |
時間戳記 | 系統每天會產生一次適用於 Cloud Billing 帳戶的價格資料,以便匯出至 BigQuery。這是產生價格資料的每日時間戳記。 |
billing_account_id |
字串 | 與價格相關聯的 Cloud Billing 帳戶 ID。 |
billing_account_name |
字串 | 與價格相關聯的 Cloud Billing 帳戶名稱。 |
business_entity_name |
字串 | 提供 SKU 的服務所屬 Google 服務系列名稱。值包括 GCP (Google Cloud) 或 Maps (Google 地圖平台)。 |
service.id |
字串 | 回報 Cloud Billing 資料的 Google Cloud 服務或 Google 地圖平台 API ID。例如「6F81-5844-456A」。 |
service.description |
字串 | 回報 Cloud Billing 資料的 Google Cloud 服務或 Google 地圖平台 API 說明。例如「Compute Engine」。 |
sku.id |
字串 | 服務所用資源 SKU 的專屬 ID。 例如「2E27-4F75-95CD」。如需完整 SKU 清單,請參閱 Google Cloud SKU。 |
sku.description |
字串 | 服務使用的資源 SKU 的說明,例如「在美洲執行的 N1 預先定義執行個體核心」。 |
sku.destination_migration_mappings |
字串陣列 | 這個 SKU 要遷移的目的地 SKU 名稱。 |
product_taxonomy |
字串陣列 | 套用至 SKU 的產品類別清單,例如「無伺服器」、「Cloud Run」、「TaskQueue」、「VM On Demand」、「Cores: Per Core」等。 |
geo_taxonomy |
結構 | 適用於 SKU 的地理中繼資料,例如區域和多區域 (如 us-east4 和歐盟)。 |
geo_taxonomy.type |
字串 | 與 SKU 相關聯的地理中繼資料類型。
有效值如下:
|
geo_taxonomy.regions |
字串陣列 | 與 SKU 相關聯的 Google Cloud 區域。
例如 Europe-west2 或 US 。
「地區」是特定的地理位置,例如倫敦。 「多地區」是指包含兩個及以上地理位置的大型地理區域,例如美國。 |
pricing_unit |
字串 | 使用量的計價單位簡寫 (例如 GiBy.mo)。 |
pricing_unit_description |
字串 | 使用者可理解的使用量單位說明 (例如 GiB 月)。 |
account_currency_code |
字串 | Cloud Billing 帳戶設定的作業貨幣,使用 ISO 4217 定義的三碼貨幣代碼。 詳情請參閱 用當地貨幣支付帳單和自動付款。 |
currency_conversion_rate |
字串 | 美元兌 Cloud Billing 帳戶設定的當地貨幣匯率。如果 Cloud Billing 帳戶的幣別為美元,匯率預設為 1.0。 如果您的 Cloud 帳單費用是以美元以外的貨幣計費,可以使用以下公式將用量費用換算為美元:
Google 以使用者所在地的貨幣收費時,會按照主要金融機構所公布的匯率,把定價換算成當地幣值的價格。包括以非美元幣別結帳時收取的任何附加費。我們將使用
|
list_price |
結構 | Google Cloud 或 Google 地圖平台 SKU 的定價
和 SKU
定價層級,自
如要查看定價,請前往 系統會為所有顧客產生並匯出定價資料。如果您的 Cloud Billing 帳戶採用自訂合約價格,系統也會匯出 帳單帳戶專屬的價格資料。 |
billing_account_price |
結構 | 如果您有合約價格,這是與 Cloud Billing 帳戶連結的合約中,自訂 SKU 的價格。
如要查看合約價格 (適用於您的 Cloud Billing 帳戶),請前往
|
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 分成兩個時,折扣會從舊 SKU 移轉至新 SKU。
|
aggregation_info |
結構 | 代表單一 SKU 的 價格級別的匯總層級和間隔。 |
aggregation_info.aggregation_level |
字串 | 使用量加總計算費用時的層級,適用於
定價層級。 等級包括:
|
aggregation_info.aggregation_interval |
字串 | 使用量加總計算
價格層級費用的間隔單位。 間隔包括:
|
tiered_rates |
字串陣列 |
定價層級的相關資訊,包括 SKU 的美元價格,以及 Cloud Billing 帳戶設定使用的
幣別價格。
部分 SKU 只有一個價格級別。如果 SKU 有多個價格級別,每個價格級別會顯示在不同的資料列中。您可以使用 |
tiered_rates.pricing_unit_quantity |
浮點值 | SKU 的價格級別單位數量。舉例來說,假設級別價格為每 1,000,000 個位元組 $1 美元,這個資料欄就會顯示「1,000,000」。 |
tiered_rates.start_usage_amount |
浮點值 | 特定 價格級別的計費單位數量下限。舉例來說,如果 SKU 有三個價格級別 (0 到 100 個單位、101 到 1000 個單位,以及 1001 個以上單位),就會顯示三列價格,且 [tiered_rates].start_usage_amount 值分別為 0、101 和 1001。 |
tiered_rates.usd_amount |
數字 | SKU 的價格 (以美元計價)。 |
tiered_rates.account_currency_amount |
數字 | SKU 的層級價格從美元換算為 Cloud Billing 帳戶設定使用的貨幣,換算時會使用 currency_conversion_rate 。轉換後的價格是使用下列公式計算而得:
Google 以使用者所在地的貨幣收費時,會按照主要金融機構所公布的匯率,把定價換算成當地幣值的價格。包括以非美元幣別結帳時收取的任何附加費。我們將使用
|
關於價格級別
SKU 價格是按價格級別提供。價格層級會根據不同層級提供定價結構。部分 SKU 只有一個價格級別,其他則有多個價格級別。採用多層級定價的 SKU 範例如下:
- 提供免費用量方案的 SKU。例如:前 1,000 個單位免費。1001 個以上:每個 $1 美元。
- 如果用量超過級別上限,每單位價格就會降低的 SKU。例如:1 到 100 個單位的價格為每個 $5 美元,101 到 1, 000 個單位的價格為每個 $4 美元,1, 001 個以上單位的價格為每個 $3 美元。
多層級定價注意事項:
系統會根據 SKU 的
aggregation_interval
(每日或每月) 將層級用量計數器重設為零。- 每日 SKU 每天會在美國和加拿大太平洋時間 (UTC-8 或 UTC-7) 凌晨 12 點重設。
- 每月 SKU 會在每個曆月的第一天 (例如 1 月、2 月等) 美國和加拿大太平洋時間 (UTC-8 或 UTC-7) 凌晨 12 點重設為零。
各個 Cloud Billing 帳戶的層級是獨立運作,不會跨多個 Cloud Billing 帳戶彙整,即使專案位於同一機構或屬於同一法律實體也是如此。
各層級的運作方式會因 SKU 而異:單一 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 - Requests)
取得特定 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 自動產生的欄位,代表資料所屬的日期。您可以改用 Cloud Billing 匯出功能明確產生的欄位,例如 pricing_as_of_time
。_PARTITIONTIME
以下是設為使用 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" ;
查詢結果
列 | id | 說明 | 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 | 要求 | COUNT | ACCOUNT | 每月 | 1000000 | 0 | 0 | 0 |
1000000 | 2000000 | 0.4 | 0.4 |
取得特定 SKU 的定價,並加入服務說明
本節的兩個範例會示範查詢,傳回指定 SKU 的每個價格層級 list_price
,並包含 SKU 說明和服務說明。
- 範例 1 會為每個資料列傳回一個 SKU,並以巢狀資料的形式顯示價格級別。
- 範例 2 說明如何取消巢狀結構資料,為每個定價層級的每個 SKU 傳回一列。
範例 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 | ACCOUNT | 每月 | 1000000 | 0 | 0 | 0 |
1000000 | 2000000 | 0.4 | 0.4 |
範例 2:傳回與相同資料表聯結的未巢狀資料
這個範例會查詢單一 SKU,並傳回 list price
。SKU 有多個價格級別。這項查詢示範如何使用 UNNEST
運算子將 tiered_rates
陣列扁平化,並將欄位與相同資料表彙整,為每個價格層級產生一個資料列。
標準 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" ;
查詢結果:
列 | 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 | 0.4 | 0.4 |
使用產品分類和地理分類查詢 SKU
取得 SKU 的產品分類
這個範例示範如何查詢特定 SKU 的 product_taxonomy
清單,其中 SKU ID = 2DA5-55D3-E679
(Cloud Run - Requests)。
標準 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" ;
查詢結果:
列 | sku_id | sku_description | service_id | service_description | product_taxonomy |
---|---|---|---|---|---|
1 | 2DA5-55D3-E679 | 要求 | 152E-C115-5142 | Cloud Run | GCP |
無伺服器 | |||||
Cloud Run | |||||
其他 |
取得特定產品分類的所有 SKU
這個範例示範如何查詢符合指定 product_taxonomy
的所有 SKU。在本查詢中,我們會將 Serverless 指定為 product taxonomy
值。
標準 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 ;
查詢結果:
列 | sku_id | sku_description | service_id | service_description | product_taxonomy |
---|---|---|---|---|---|
1 | 0160-BD7B-4C40 | Cloud Tasks 網路區域內輸出 | F3A6-D7B7-9BDA | Cloud Tasks | GCP |
無伺服器 | |||||
Cloud Tasks | |||||
其他 | |||||
2 | FE08-0A74-7AFD | Cloud Tasks GOOGLE-API Egress | F3A6-D7B7-9BDA | Cloud Tasks | GCP |
無伺服器 | |||||
Cloud Tasks | |||||
其他 | |||||
3 | A81A-32A2-B46D | 工作佇列儲存空間 (鹽湖城) | F17B-412E-CB64 | App Engine | GCP |
無伺服器 | |||||
GAE | |||||
其他 | |||||
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) ;
查詢結果:
列 | sku_id | sku_description | service_id | service_description | geo_taxonomy.type | geo_taxonomy.regions | product_taxonomy |
---|---|---|---|---|---|---|---|
1 | 9174-81EE-425B | 在維吉尼亞州執行的單一用戶群執行個體 RAM 單一用戶群附加費 | 6F81-5844-456A | Compute Engine | REGIONAL | us-east4 | GCP |
運算 | |||||||
GCE | |||||||
隨選 VM | |||||||
記憶體:每 GB | |||||||
2 | C3B9-E891-85ED | 在維吉尼亞州執行的專屬租戶執行個體 RAM | 6F81-5844-456A | Compute Engine | REGIONAL | us-east4 | GCP |
運算 | |||||||
GCE | |||||||
隨選 VM | |||||||
記憶體:每 GB | |||||||
3 | 6E2A-DCD9-87ED | 在維吉尼亞州執行的 N1 預先定義執行個體 RAM | 6F81-5844-456A | Compute Engine | REGIONAL | us-east4 | GCP |
運算 | |||||||
GCE | |||||||
隨選 VM | |||||||
記憶體:每 GB |
傳回具有多個價格級別的 SKU 定價
您可依資料表名稱查詢 BigQuery 資料。查詢 FROM
子句中使用的資料表名稱是根據下列三個值決定:project.dataset.BQ_table_name
。
這些範例中使用的常見值:
- 資料表名稱:
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" ;
查詢結果:
列 | 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 | ACCOUNT | 每月 | 1000000 | 0 | 0 | 0 |
1000000 | 2000000 | 0.4 | 0.4 |
範例 2:傳回與相同資料表聯結的未巢狀資料
這個範例會查詢單一 SKU,並傳回 list price
。SKU 有多個價格級別。這項查詢示範如何使用 UNNEST
運算子將 tiered_rates
陣列扁平化,並將欄位與相同資料表聯結,產生每個價格層級各一列的結果。
標準 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" ;
查詢結果:
列 | 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 | 0.4 | 0.4 |
相關主題
與匯出的 Cloud Billing 資料相關的主題
Google Cloud 控制台提供的費用和價格報表
- 查看 Cloud Billing 報表和費用趨勢
- 查看及下載月結單或對帳單的費用明細
- 查看及下載 Google 雲端服務的價格
- 透過費用明細報表瞭解節約效益
- 分析承諾使用折扣的效益
- 查看費用和付款記錄