本文提供參考資訊,說明匯出至 BigQuery 各個資料表的 Cloud Billing 詳細使用費用資料結構定義。
使用費用詳細資料會提供標準使用費用資料的所有資訊,以及提供精細資源層級費用資料的額外欄位資料,例如產生用量的虛擬機器或 SSD。詳細匯出項目包含下列服務的詳細費用資訊:
    
  | 
    
    
  | 
    
    
  | 
  
依服務找出精細的費用資料
如要分析詳細匯出資料中的精細費用資訊,請使用下表找出包含特定資源資訊的欄位。
| 服務說明 | 欄 | 如何識別資源 | 
|---|---|---|
| AlloyDB for PostgreSQL | service.description 和 resource.name 或
  resource.global_name | 
「  | 
| App Engine | service.description 和 resource.name,或
resource.global_name | 
「  | 
| BigQuery | service.description 和 resource.name,或
resource.global_name
 | 
  | 
| Bigtable | service.description 和 resource.global_name | 
「  | 
| Cloud Data Fusion | service.description 和 resource.name 或
  resource.global_name | 
「  | 
| Cloud Deploy | service.description 和 resource.name 或
  resource.global_name | 
「  | 
| Cloud Run 函式 | service.description 和 resource.name 或
 resource.global_name | 
   「  | 
| Cloud Logging | service.description 和 resource.global_name | 
「  | 
| Cloud Run | service.description 和 resource.name 或
 resource.global_name | 
   「  | 
| Cloud SQL | service.description 和 resource.global_name | 
  | 
| Cloud Storage | service.description 和 resource.global_name | 
「  | 
| Compute Engine | service.description 和 resource.name 或
 resource.global_name | 
「  | 
| Dataflow | service.description 和 resource.name,或
resource.global_name
 | 
  | 
| Dataproc Metastore | service.description 和 resource.name 或
  resource.global_name | 
「  | 
| Firestore 和 Datastore | service.description 和 resource.name,或
resource.global_name | 
「  | 
| Google Kubernetes Engine (GKE) | labels.key | 
  使用下列標籤鍵篩選資源: 
 如要在詳細費用資料匯出內容中查看精細的 GKE 叢集費用,您也必須 啟用 GKE 的費用分配功能。  | 
| 代管的 Microsoft AD | service.description 和 resource.name 或
  resource.global_name | 
「  | 
| Memorystore for Redis | service.description 和 resource.global_name | 
「  | 
| Secret Manager | service.description、resource.name 和 resource.global_name | 
「  | 
| Spanner | service.description 和 resource.global_name | 
  | 
請參閱查詢資源詳細資料的範例。
詳細使用費資料結構定義
在您的 BigQuery 資料集中,詳細使用費用資料會載入至名為 Google Cloudgcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID> 的資料表。
在 BigQuery 中使用詳細用量費用資料時,請注意以下事項:
- 詳細的 Cloud Billing 資料匯出作業的資料表結構定義可能會隨時間變更,例如在詳細匯出作業中新增欄位時。為避免日後結構定義變更影響查詢,建議您使用 BigQuery 檢視畫面來正規化資料,讓資料表向查詢呈現相同的結構定義,而不是依據直接參照匯出資料欄的查詢。進一步瞭解這項限制。
 - 在為詳細用量費用資料選取或建立 BigQuery 資料集時,您可以選取任何支援用於 Cloud Billing 資料的資料集位置。
 - 在 Cloud Billing 中首次啟用詳細用量費用資料匯出功能時,如果選取的資料集已設定為使用多區域位置 (歐盟或美國),系統會從上個月初開始追溯,提供 Cloud Billing 資料。系統會按照時間先後順序匯出資料,首次回填匯出資料時,系統可能需要最多五天才能完成回溯 Cloud Billing 資料的匯出作業,之後您才會開始看到最新的用量資料。
 - 如果您啟用詳細用量費用資料匯出功能,並選取已設定使用支援區域位置的資料集,則啟用匯出功能後,您就能取得 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 (第一方) 進行的交易,以及向合作夥伴 (第三方) 進行的交易,分別開立發票,同時也會指出交易可能適用的法規。 可能的值如下:
  | 
 
cost_type | 
  字串 | 這個明細項目代表的費用類型包括:一般、稅金、調整項或捨入錯誤。  | 
 
service.id | 
  字串 | 與用量相關聯的服務 ID。 | 
service.description | 
  字串 | 回報 Cloud Billing 資料的 Google Cloud 服務。 | 
sku.id | 
  字串 | 服務所用資源的 ID。如需完整 SKU 清單,請參閱 Google Cloud SKU。 | 
sku.description | 
  字串 | 服務所用資源類型的說明。比方說,Cloud Storage 使用的資源類型為「美國地區的標準儲存空間」。 | 
usage_start_time | 
  時間戳記 | 以小時為單位使用期 (用於計算指定費用) 的開始時間。所有服務的使用情形和費用會以精算到小時的單位顯示,這表示執行時間長的服務使用情形會橫跨多個小時。 詳情請參閱 BigQuery 說明文件的 時間戳記資料類型一節,另請參閱 匯出的資料與月結單之間的差異。  | 
 
usage_end_time | 
  時間戳記 | 以小時為單位使用期 (用於計算指定費用) 的結束時間。所有服務的使用情形和費用會以精算到小時的單位顯示,這表示執行時間長的服務使用情形會橫跨多個小時。 詳情請參閱 BigQuery 說明文件的 時間戳記資料類型一節,另請參閱 匯出的資料與月結單之間的差異。  | 
 
project | 
  結構 | project 包含描述 Cloud Billing 專案的欄位,例如 ID、編號、名稱、ancestry_numbers 和標籤。
   | 
 
project.id | 
  字串 | 產生 Cloud Billing 資料的 Google Cloud 專案 ID。 | 
project.number | 
  字串 | Google Cloud 專案 (用於產生 Cloud Billing 資料) 的專屬匿名 ID。此為內部產生的 ID。在支援案件和其他客戶通訊中,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 |  字串 | 如果有標籤,則此欄顯示的是在產生用量的 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 地圖平台 SKU 相關聯的抵免額結構體和值。 | 
 
credits.id | 
  字串 | 如果有的話,則表示抵免額與產品 SKU 相關聯。
   credits.id 值可以是英數字元的專屬 ID (例如「12-b34-c56-d78」),也可以是抵免額類型說明 (例如「承諾使用折扣:CPU」
     )。如果   | 
 
credits.full_name | 
  字串 | 與產品 SKU 相關聯的抵免額名稱。這是英數字元 credits.id 的使用者可理解說明。例如「免費試用抵免額」或「支出型承諾使用折扣」。
   
  | 
 
credits.type | 
  字串 | 這個欄位會說明 credits.id 的用途或來源。
   抵免額類型包括:
   
  | 
 
credits.name | 
  字串 | Cloud Billing 帳戶套用的抵免額相關說明。 | 
credits.amount | 
  浮點值 | 帳單帳戶套用的抵免額金額。 | 
adjustment_info | 
  結構 | adjustment_info 中的欄位會針對與 Cloud Billing 帳戶相關聯的費用明細項目調整項,說明其結構體和值。
   只有在費用明細項目因修改 Cloud Billing 而產生時,系統才會顯示   | 
 
adjustment_info.id | 
  字串 | 如果有的話,表示調整項與費用明細項目相關聯。adjustment_info.id 是與問題相關聯的所有調整項的專屬 ID。 | 
 
adjustment_info.description | 
  字串 | 調整項的說明及其原因。 | 
adjustment_info.type | 
  字串 | 調整項類型。 類型包括: 
  | 
 
adjustment_info.mode | 
  字串 | 調整項的核發方式。 模式包括: 
  | 
 
export_time | 
  時間戳記 | 與附加 Cloud Billing 資料相關聯的處理時間。
   每次執行新的匯出作業後,這個值一定會增加。 請另行參閱下方 匯出的資料與月結單之間的差異一節。  | 
 
tags | 
  結構 | 描述標記的欄位,例如鍵、值和命名空間。  | 
 
tags.key | 
  字串 | 與這個特定代碼相關聯的金鑰簡短名稱或顯示名稱。  | 
 
tags.value | 
  字串 | 附加至   | 
 
tags.inherited | 
   布林值 | 指出標記繫結是否為沿用 (Tags Inherited = True),或直接/非沿用 (Tags Inherited = False)。您可以 在資源階層中建立標記繫結,繫結至父項資源。  | 
   
tags.namespace | 
     字串 | 代表定義標記鍵和值的資源階層。命名空間可與標記鍵和標記值簡稱合併,為標記鍵或標記值建立全域不重複的完整名稱。  | 
     
cost_at_list | 
       浮點值 | 根據預設用量模式計算的定價費用。  | 
  
transaction_type | 
       字串 | 賣方的交易類型。交易類型可能為下列其中一種: 
  | 
     
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 | 
字串 | 產生相關用量資源的全域專屬服務 ID。  | 
resource.name | 
字串 | 產生相關用量的資源專用服務 ID。使用者可以自行輸入這項資訊。  | 
subscription | 
    結構 | 說明依據支出或資源而定的承諾使用合約的欄位。 您可以使用這些欄位,分析特定約定的費用。  | 
subscription.instance_id | 
    字串 | 與承諾方案連結的訂閱 ID。  | 
瞭解標準和詳細使用費用資料
以下各節說明匯出至 BigQuery 的標準和詳細使用費用資料。
關於標籤
特定標籤的費用資料只會顯示資源套用標籤後的用量。舉例來說,如果您在 2024 年 1 月 15 日將 environment:dev 標籤新增至 Compute Engine VM,則 environment:dev 的任何分析只會納入該 VM 自 1 月 15 日起的用量。
視各個服務提供標籤資料的時間而定,系統會在不同時間為不同服務填入資料。
可用系統標籤
產生用量的資源具有重要的中繼資料,這些中繼資料的鍵/值組合即是系統標籤。以下系統標籤會自動加到適用的用量上。
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 * 1024 MB/GB);對於 custom-2-2048,此為 2048 | 虛擬機器可用的記憶體量 (MB)。 | 
compute.googleapis.com/is_unused_reservation | 
true; false | 指出透過區域預留項目預留但未使用的用量。 | 
compute.googleapis.com/reservation_name | 
my-a2-reservation | Compute Engine 預留項目的簡短名稱。 | 
compute.googleapis.com/reservation_project_id | 
my-gcp-project | 擁有 Compute Engine 預訂的專案 ID。 | 
storage.googleapis.com/object_state | 
live;noncurrent; soft_deleted; multipart | 收費儲存空間物件的狀態。 | 
匯出的資料與月結單之間的差異
Google Cloud 產品會按照不同間隔,將用量和費用資料回報給 Cloud Billing 程序。因此,您可能需要等待一段時間,才能在 Cloud Billing 中查看服務的用量和費用。 Google Cloud 費用通常會在一天內提供,不過有時可能會超過 24 小時。
在月底時,延遲回報的用量可能不會包含在當月的月結單中,而是計入下個月的月結單。
使用時間戳記欄位查詢費用時,傳回的資料可能會包含近期使用量,而這類使用量原本不會列入相同使用月份的月結單。因此,傳回的 Cloud Billing 資料可能不會直接對應到該月結單。
時間戳記欄位包括:
usage_start_timeusage_end_timeexport_time
如要傳回與月結單直接對應的 Cloud Billing 資料,請查詢 invoice.month,
而非時間戳記欄位。
稅金
自 2020 年 9 月 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 | [empty] | 稅金 | $10 美元 | 
9 月 1 日後記錄的費用中,有 $6 美元是 example-project 的費用,有 $4 美元是 test-project 的費用:
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 匯出至 BigQuery 的資料中會新增一行,顯示異動內容。顯示的調整項對應於 Google Cloud 控制台「帳單」專區「文件」區域中的月結單、貸項憑單和借項憑單文件。
如要進一步瞭解帳單修改和套用方式,請參閱「瞭解備忘錄和調整項」。
修正
修正內容會以新資料的形式顯示,抵銷來源 SKU 的錯誤資料。在某些情況下,新資料會取代錯誤的費用。帳單資料匯出作業中的所有資料欄都會與原始資料相符,但下列資料欄除外:
costcreditusage.amountexport_time
舉例來說,假設您在 1 月 1 日使用 SKU A,費用為 $10 美元。在 2 月初發出的 1 月月結單中,您會看到 SKU A 的 $10 美元費用。不過,在 2 月 2 日, Google Cloud 針對 SKU A 發出更正,將使用費用調降至 $5 美元。2 月月結單 (3 月初發放) 會新增兩項明細項目:
- 1 月 1 日的使用費 -$10 美元 (抵銷原始費用)
 - 1 月 1 日的使用費為 $5 美元 (說明預計收取的費用)
 
這些新項目在帳單資料匯出作業中會顯示 adjustment_info 欄。系統不會調整顯示超額費用的 1 月原始月結單。您可以查看按 usage_start_time 分類的費用,並依 Day 分組,藉此在匯出的帳單資料中驗證費用。在這些檢視畫面中,系統會累計任何修正或延遲營利的使用費用,您不必擔心任何暫時不正確的資料。
如要查看更詳細的修正資訊,請查看帳單月份的所有費用,並找出使用日期在帳單月份之前的費用。這些費用是修正或延遲營利的使用情形所致。
下列程式碼範例說明如何建立基本查詢,傳回修正或延遲營利用量的總費用:
SELECT
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
      FROM   UNNEST(credits) c), 0))
    AS total
FROM `project.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX`
WHERE
  invoice.month = '202311' AND
  DATE(TIMESTAMP_TRUNC(usage_start_time, Day, 'US/Pacific')) < '2023-11-01';
如需查詢範例,瞭解如何依服務細分月結單費用,並找出使用日期在月結單月份「之前」的費用,請參閱「Cloud Billing 資料匯出的查詢範例」一文中的「查詢費用詳細資料,依指定月結單月份的服務查看修正或延遲營利的使用情況」。
自訂價格合約中的促銷抵免額簡介
如果您有自訂價格合約,可能會收到促銷抵免額,可用於 Google Cloud 。舉例來說,您可能會收到 $1,000 美元,用於 Compute Engine 資源。促銷抵免額通常視為一種付款方式。如有未使用的促銷抵免額,系統會自動用來折抵費用總額。
合約條款會指定促銷活動抵免額適用於以 SKU 定價計算的費用,還是淨價 (折扣後)。
如果促銷抵免額適用於以定價計算的費用,則在「費用表」報表中,會顯示名為「Invoice」的服務和名為「Contract billing adjustment」的 SKU。這個 SKU 會調整抵免額,以便用於定價費用。如要查看調整適用的用量,請查詢 system.labels 欄。system.labels.key 中的鍵為 cloud-invoice.googleapis.com/sku_id,而 system.labels.value 中的值則包含抵免額和調整項套用的 SKU ID。
關於代碼
標記 是以鍵/值組合形式呈現的資源,可直接或透過繼承附加至資源。您可以使用標記執行退款、稽核和其他費用分配分析。您也可以使用標記並依據條件強制執行政策,精細控管資源階層結構。
標記具有完善的權限模型,可支援繼承、集中式管理、命名標準化和政策引擎整合,而 標籤是獨立工具,可讓您註解資源。
資源、專案、資料夾和機構的 BigQuery 匯出資料中會顯示標記資料。
可用的標記
資源、專案、資料夾和機構的「標準費用」和「詳細費用」匯出作業,會納入標籤資料的下列欄位:標籤鍵、標籤值、標籤繼承和標籤命名空間。
Cloud Billing 資料匯出功能支援下列資源的資源層級標記:
- AlloyDB for PostgreSQL 叢集、執行個體和備份
 - Artifact Registry 存放區
 - Bigtable 執行個體
 - Cloud Run 服務和工作
 - Cloud Storage 值區
 - Compute Engine 執行個體
 - Memorystore for Redis 執行個體
 - Secret Manager 全域和區域性密鑰
 - Spanner 執行個體
 - Firestore 資料庫
 
代碼限制
- 標記最多可能需要一小時才會匯出至 BigQuery。如果標記是在一小時內新增或移除,或是資源存在時間未滿一小時,可能不會顯示在匯出檔案中。
 
使用費詳細資料查詢範例
本節提供範例,說明如何查詢匯出至 BigQuery 的 Cloud Billing 詳細用量費用資料。
由於詳細使用費用結構定義包含標準使用費用結構定義的所有欄位,因此針對匯出至 BigQuery 的標準資料提供的查詢範例,也適用於匯出的詳細資料。標準查詢範例不會擷取任何資源層級資訊,這些資訊是透過詳細使用費用匯出選項提供。為詳細資料建立查詢時,您可以使用標準查詢範例做為範本、更新「資料表名稱」,並新增詳細用量費用結構定義中提供的任何欄位。
範例詳細費用查詢中使用的常見值
本節的查詢範例會使用下列「資料表名稱」值:
project.dataset.gcp_billing_export_resource_v1_XXXXXX_XXXXXX_XXXXXX
傳回月結單上的資源層級費用
下列查詢示範透過匯出帳單資料,查看發票中資源層級費用和抵免額值的兩種方法。
total欄位直接加總浮點費用和抵免額值,可能會造成浮點捨入錯誤。total_exact欄位會在加總前將費用和抵免額值轉換為微數值,然後在加總後轉換回美元,以免發生浮點捨入錯誤。
按月結單計算每項資源的費用總和
這項查詢會顯示每個月的帳單總額,當中包含定期費用、稅金、調整項和捨入錯誤。resource.name如果費用與資源層級項目無關,系統會將這些費用歸類在當月的「名稱」null 下。
標準 SQL
SELECT invoice.month, resource.name, SUM(cost) + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0)) AS total, (SUM(CAST(cost * 1000000 AS int64)) + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64)) FROM UNNEST(credits) c), 0))) / 1000000 AS total_exact FROM `project.dataset.gcp_billing_export_resource_v1_XXXXXX_XXXXXX_XXXXXX` GROUP BY 1, 2 ORDER BY 1 ASC, 2 ASC ;
舉例來說,前述查詢的結果可能如下:
| 列 | 個月 | 名稱 | 總計 | total_exact | 
|---|---|---|---|---|
| 1 | 201901 | null | $1005.004832999999984 美元 | $1005.00 美元 | 
| 2 | 201901 | backend1 | $781.8499760000028 | $781.85 | 
| 3 | 201902 | null | $953.0034923645475983 | $953.03 | 
| 4 | 201902 | backend1 | $992.3101739999999717 美元 | $992.31 美元 | 
| 5 | 201902 | bitnami-launchpad-wordpress-1-wordpress | $1.2817819999999998 | $1.28 | 
按月結單月份依據費用類型傳回各項資源的詳細資料
此查詢會顯示每個月的每個 cost_type resource.name 總計。費用類型包括定期費用、稅金、調整項和捨入錯誤。與資源層級項目無關的費用,都會在當月匯總到「名稱」null 下方。
標準 SQL
SELECT invoice.month, cost_type, resource.name, SUM(cost) + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0)) AS total, (SUM(CAST(cost * 1000000 AS int64)) + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64)) FROM UNNEST(credits) c), 0))) / 1000000 AS total_exact FROM `project.dataset.gcp_billing_export_resource_v1_XXXXXX_XXXXXX_XXXXXX` GROUP BY 1, 2, 3 ORDER BY 1 ASC, 2 ASC, 3 ASC ;
舉例來說,前述查詢的結果可能如下:
| 列 | 月 | cost_type | 名稱 | 總計 | total_exact | 
|---|---|---|---|---|---|
| 1 | 201901 | regular | null | $1000.501209987994782 美元 | $1000.50 美元 | 
| 2 | 201901 | rounding_error | null | –$0.500489920049387 美元 | –$0.50 美元 | 
| 3 | 201901 | tax | null | $10.000329958477891 美元 | $10.00 美元 | 
| 4 | 201901 | adjustment | null | –$5.002572999387045 美元 | –$5.00 美元 | 
| 5 | 201901 | regular | backend1 | $410.998795012082947 美元 | $411.00 | 
| 2 | 201901 | rounding_error | backend1 | –$0.2404900489920378 | –$0.24 | 
| 3 | 201901 | tax | backend1 | $4.105840329977189 | $4.11 | 
取得 Google Kubernetes Engine (GKE) 叢集費用明細
本節提供範例,說明如何在 BigQuery 匯出報表中篩選 GKE 叢集費用。如要進一步瞭解 GKE 叢集費用,請參閱「查看叢集費用明細」。
篩選 GKE 費用
下列查詢範例說明如何依叢集名稱、命名空間和標籤,篩選及分組支援的資源類型 GKE 成本。
扣除抵免額前的 GKE 叢集費用
SELECT SUM(cost) AS cost_before_credits, labels.value AS cluster_name FROM `project-ID.dataset.gcp_billing_export_resource_v1_XXXXXX-XXXXXX-XXXXXX` LEFT JOIN UNNEST(labels) as labels ON labels.key = "goog-k8s-cluster-name" GROUP BY labels.value ;
扣除抵免額後的 GKE 命名空間費用
SELECT labels.value as namespace, SUM(cost) + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0)) AS cost_after_credits, FROM `project-ID.dataset.gcp_billing_export_resource_v1_XXXXXX-XXXXXX-XXXXXX` LEFT JOIN UNNEST(labels) as labels ON labels.key = "k8s-namespace" GROUP BY namespace ;
依 SKU 列出的 GKE 費用
SELECT project.id AS project_id, labels.value AS cluster_name, sku.id AS sku_id, sku.description AS sku_description, SUM(cost) AS cost FROM `project-ID.dataset.gcp_billing_export_resource_v1_XXXXXX-XXXXXX-XXXXXX` JOIN UNNEST(labels) AS labels ON labels.key = "goog-k8s-cluster-name" GROUP BY cluster_name, project_id, sku_description, sku_id ;
含標記的查詢範例
下列範例說明如何使用標記查詢資料。
使用標籤依月結單月份計算費用
下列查詢示範如何使用 cost_center 代碼,依帳單月份傳回費用。
SELECT invoice.month AS invoice_month, tag.value AS cost_center, ROUND((SUM(CAST(cost AS NUMERIC)) + SUM(IFNULL((SELECT SUM (CAST(c.amount AS NUMERIC)) FROM UNNEST(credits) AS c), 0))), 2) AS net_cost FROM `project-ID.dataset.gcp_billing_export_resource_v1_XXXXXX-XXXXXX-XXXXXX`, UNNEST(tags) AS tag WHERE tag.key = "cost_center" AND tag.namespace = "821092389413" GROUP BY invoice.month, tag.value ORDER BY invoice.month, tag.value;
舉例來說,前述查詢的結果可能如下:
| 列 | invoice_month | cost_center | net_cost | 
|---|---|---|---|
| 1 | 202208 | android_mobile_apps | 9.93 | 
| 2 | 202208 | ios_mobile_apps | 9.93 | 
| 3 | 202209 | android_mobile_apps | 25.42 | 
| 4 | 202209 | ios_mobile_apps | 25.4 | 
| 5 | 202209 | 個人化 | 16.08 | 
查看未標記資源的費用
這項查詢會顯示未加上標記的資源的帳單總額,並依帳單月份分組。
SELECT invoice.month AS invoice_month, ROUND((SUM(CAST(cost AS NUMERIC)) + SUM(IFNULL((SELECT SUM(CAST(c.amount AS NUMERIC)) FROM UNNEST(credits) AS c), 0))), 2) AS net_cost FROM `project-ID.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX` WHERE "color" NOT IN (SELECT key FROM UNNEST(tags)) GROUP BY invoice_month ORDER BY invoice_month;
舉例來說,前述查詢的結果可能如下:
| 列 | invoice_month | net_cost | 
|---|---|---|
| 1 | 202202 | 0 | 
| 2 | 202203 | 16.81 | 
| 3 | 202204 | 54.09 | 
| 4 | 202205 | 55.82 | 
| 5 | 202206 | 54.09 | 
| 6 | 202207 | 55.83 | 
| 7 | 202208 | 31.49 | 
使用系統標籤查詢
預訂的系統標籤可讓您更清楚瞭解預訂使用情形。 Google Cloud 您可藉此追蹤哪些執行個體正在使用哪些預留容量,並直接在 BigQuery 中分析已用和未用容量的相關費用。
這些範例使用兩個系統標籤:
compute.googleapis.com/reservation_namecompute.googleapis.com/reservation_project_id
這些標籤會出現在 Cloud Billing 記錄中,包括使用預留項目的執行個體,以及預留項目中未使用的部分。
以下範例說明如何查詢 BigQuery 帳單匯出資料,並使用系統標籤分析預訂使用量。
事前準備
如要使用系統標籤查詢,您必須啟用 Cloud Billing 匯出至 BigQuery 的功能,特別是詳細用量費用資料匯出功能。這項匯出作業會包含資源層級資訊,包括系統標籤,方便您查看新的預訂標籤。
如要設定或驗證 BigQuery 匯出作業,請參閱下列文件:
請確認 BigQuery 資料集已設定為接收詳細匯出資料。資料表名稱通常會採用 gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID> 格式。
查看特定執行個體的用量
這項查詢可讓您檢查特定執行個體在特定期間是否使用保留項目,以及使用哪個保留項目。
SELECT
  t.usage_start_time,
  sl_reservation.value AS reservation_name,
  t.sku.description AS sku_description,
  SUM(t.usage.amount) AS total_usage_amount
FROM
  project-ID.dataset.gcp_billing_export_resource_v1_X AS t
  LEFT JOIN
  UNNEST(t.system_labels) AS sl_reservation
  ON sl_reservation.key = 'compute.googleapis.com/reservation_name'
WHERE
  t.service.id = '6F81-5844-456A' AND DATE(TIMESTAMP_TRUNC(t._PARTITIONTIME, DAY)) = '2025-09-16' AND t.sku.description LIKE '%Core%' AND
  t.resource.name LIKE '%tc-billing-case1-instance-1757983787%'
GROUP BY t.usage_start_time, reservation_name, t.sku.description
ORDER BY t.usage_start_time, reservation_name, t.sku.description;
結果範例:
| usage_start_time | reservation_name | sku_description | total_usage_amount | 
|---|---|---|---|
| 2025-09-16 00:00:00.000000 UTC | 在美洲執行的 E2 執行個體核心 | 597 | |
| 2025-09-16 01:00:00.000000 UTC | 在美洲執行的 E2 執行個體核心 | 3009 | |
| 2025-09-16 01:00:00.000000 UTC | tc-billing-case1-res0-1757983787 | 在美洲執行的 E2 執行個體核心 | 591 | 
| 2025-09-16 02:00:00.000000 UTC | 在美洲執行的 E2 執行個體核心 | 10 | |
| 2025-09-16 02:00:00.000000 UTC | tc-billing-case1-res0-1757983787 | 在美洲執行的 E2 執行個體核心 | 3054 | 
| 2025-09-16 02:00:00.000000 UTC | tc-billing-case1-res1-1757983787 | 在美洲執行的 E2 執行個體核心 | 37 | 
注意:
- SKU 篩選:將 SKU 限制為 CPU 核心,可更清楚地分配資源。這項設定可調整為其他預留資源,例如 RAM、LocalSSD、TPU 或 GPU。
 - 隨選用量:如果 reservation_name 和 reservation_project_id 皆為空值,表示執行個體正在使用隨選資源。
 
如果多個具有不同 reservation_name 和 reservation_project_id 的資料列,對應到特定時間範圍內的特定執行個體,表示該執行個體在該期間內使用的保留項目有所變更。「用量」部分會詳細列出用量。
分析特定預留項目的使用情形分布
這項查詢可協助您瞭解特定共用預留項目的用量分布,顯示可使用該預留項目的不同Google Cloud 專案中,已用或未用的容量。
SELECT
  t.project.id AS consumer_project_id,
  t.sku.description AS sku_description,
  CASE
    WHEN t.resource.global_name NOT LIKE '%instances/%' THEN 'Unused Capacity'
    WHEN t.resource.name IS NOT NULL AND t.resource.name != '' THEN 'Instance Usage'
    ELSE 'Other Reservation Cost'
  END AS usage_category,
  SUM(t.usage.amount) AS total_usage_amount,
  t.usage.unit AS usage_unit,
  SUM(t.cost) AS total_cost_usd
FROM
  project-ID.dataset.gcp_billing_export_resource_v1_X AS t
  LEFT JOIN
  UNNEST(t.system_labels) AS sl_reservation
  ON sl_reservation.key = 'compute.googleapis.com/reservation_name'
  LEFT JOIN
  UNNEST(t.system_labels) AS sl_project_id
  ON sl_project_id.key = 'compute.googleapis.com/reservation_project_id'
WHERE
  t.service.id = '6F81-5844-456A' AND DATE(TIMESTAMP_TRUNC(t._PARTITIONTIME, DAY)) = '2025-09-16' AND t.sku.description LIKE '%Core%' AND
  sl_reservation.value LIKE '%tc-billing-case2-res-1757983801%'
GROUP BY consumer_project_id, t.sku.description, usage_category,
  usage_unit
ORDER BY consumer_project_id, usage_category;
結果範例:
| consumer_project_id | sku_description | usage_category | total_usage_amount | usage_unit | total_cost_usd | 
|---|---|---|---|---|---|
| disco-sector-292704 | 在美洲執行的 E2 執行個體核心 | 執行個體用量 | 14551 | 秒 | 0.088158 | 
| flash-freehold-292704 | 在美洲執行的 E2 執行個體核心 | 執行個體用量 | 7347 | 秒 | 0.044512 | 
| united-sandbox-303721 | 在美洲執行的 E2 執行個體核心 | 未使用的容量 | 7936 | 秒 | 0.04808 | 
列出使用保留項目的所有執行個體
同樣地,我們也可以編寫查詢,瞭解在特定時間範圍內,所有使用特定預留空間的執行個體。
SELECT
  t.usage_start_time,
  t.usage_end_time,
  t.project.id AS consumer_project_id,
  t.resource.name AS instance_name,
  t.usage.amount AS usage_amount
FROM
  project-ID.dataset.gcp_billing_export_resource_v1_X AS t
  LEFT JOIN
  UNNEST(t.system_labels) AS sl_reservation
  ON sl_reservation.key = 'compute.googleapis.com/reservation_name'
WHERE
  t.service.id = '6F81-5844-456A' AND DATE(TIMESTAMP_TRUNC(t._PARTITIONTIME, DAY)) = '2025-09-16' AND t.sku.description LIKE '%Core%' AND
  sl_reservation.value LIKE '%tc-billing-case2-res-1757983801%' AND t.resource.global_name NOT LIKE '%allocation/%' AND
  t.resource.name IS NOT NULL AND t.resource.name != ''
ORDER BY t.usage_start_time, t.project.id, t.resource.name;
結果範例:
| usage_start_time | usage_end_time | consumer_project_id | instance_name | usage_amount | 
|---|---|---|---|---|
| 2025-09-16 00:00:00.000000 UTC | 2025-09-16 01:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins0-1757983801 | 552 | 
| 2025-09-16 00:00:00.000000 UTC | 2025-09-16 01:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins1-1757983801 | 533 | 
| 2025-09-16 00:00:00.000000 UTC | 2025-09-16 01:00:00.000000 UTC | flash-freehold-292704 | projects/978655420110/instances/tc-billing-case2-ins2-1757983801 | 517 名 | 
| 2025-09-16 01:00:00.000000 UTC | 2025-09-16 02:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins0-1757983801 | 3600 | 
| 2025-09-16 01:00:00.000000 UTC | 2025-09-16 02:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins1-1757983801 | 3600 | 
| 2025-09-16 01:00:00.000000 UTC | 2025-09-16 02:00:00.000000 UTC | flash-freehold-292704 | projects/978655420110/instances/tc-billing-case2-ins2-1757983801 | 3600 | 
| 2025-09-16 02:00:00.000000 UTC | 2025-09-16 03:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins0-1757983801 | 3022 | 
| 2025-09-16 02:00:00.000000 UTC | 2025-09-16 03:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins0-1757983801 | 79 | 
| 2025-09-16 02:00:00.000000 UTC | 2025-09-16 03:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins1-1757983801 | 79 | 
| 2025-09-16 02:00:00.000000 UTC | 2025-09-16 03:00:00.000000 UTC | disco-sector-292704 | projects/204187533293/instances/tc-billing-case2-ins1-1757983801 | 3086 | 
| 2025-09-16 02:00:00.000000 UTC | 2025-09-16 03:00:00.000000 UTC | flash-freehold-292704 | projects/978655420110/instances/tc-billing-case2-ins2-1757983801 | 3151 | 
| 2025-09-16 02:00:00.000000 UTC | 2025-09-16 03:00:00.000000 UTC | flash-freehold-292704 | projects/978655420110/instances/tc-billing-case2-ins2-1757983801 | 79 | 
相關主題
與匯出的 Cloud Billing 資料相關的主題
Google Cloud 控制台提供的費用和價格報表
- 查看 Cloud Billing 報表和費用趨勢
 - 查看及下載月結單或對帳單的費用明細
 - 查看及下載 Google 雲端服務的價格
 - 透過費用明細報表瞭解節約效益
 - 分析承諾使用折扣的效益
 - 查看費用和付款記錄