本文提供參考資訊,說明匯出至 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、編號、名稱、ancestory_numbers 和標籤。
|
project.id |
字串 | 產生 Cloud Billing 資料的 Google Cloud 專案 ID。 |
project.number |
字串 | 系統內部產生的專屬匿名 ID,用於識別 Google Cloud 產生 Cloud Billing 資料的專案。在支援案件和其他客戶通訊中,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 |
浮點值 | 任何抵免額之前的用量費用,精確度最高可達小數點後六位。如要取得包含抵免額在內的總費用,請將任何 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 地圖平台 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 |
布林值 | 指出標記繫結是否為沿用 (標記沿用 = True),或直接/非沿用 (標記沿用 = False)。您可以 在資源階層中建立標記繫結,繫結至父項資源。 |
tags.namespace |
字串 | 代表定義標記鍵和值的資源階層。命名空間可與標記鍵和標記值簡稱合併,為標記鍵或標記值建立全域不重複的完整名稱。 |
cost_at_list |
浮點值 | 與向 Cloud Billing 帳戶收費的所有明細項目相關聯的定價。 |
transaction_type |
字串 | 賣方的交易類型。交易類型可能為下列其中一種:
|
seller_name |
字串 | 賣家的法定名稱。 |
可匯出詳細用量費用資料的其他欄位 | ||
resource |
結構 | 這個欄位說明與產生用量的服務資源 (例如虛擬機器或 SSD) 相關的資料結構和資訊值。 |
resource.global_name |
字串 | 產生相關用量資源的全域專屬服務 ID。 |
resource.name |
字串 | 產生相關用量的資源專用服務 ID。使用者可以自行輸入這項資訊。 |
price |
結構 | 這些欄位說明與用量收費價格相關的結構體和值。 |
price.effective_price |
數字 | 使用 Google Cloud 或 Google 地圖平台 SKU 的費用,以及 SKU 價格層級。如果您的 Cloud Billing 帳戶有自訂合約價格,這就是帳戶專屬價格;否則,這就是 SKU 或 SKU 層級的 定價。 |
price.tier_start_amount |
數字 | SKU 價格級別的單位數量下限。舉例來說,如果 SKU 有三個價格級別 (0 到 100 個單位、101 到 1000 個單位,以及 1001 個以上單位),系統會為該 SKU 顯示三列價格,並在「 |
price.unit |
字串 | 指定價格和計算資源用量時使用的單位 (例如 GB、TB、月、年、GB 時數、GB 月數或計數)。 |
price.pricing_unit_quantity |
數字 | SKU 的價格級別單位數量。舉例來說,假設級別價格為每 1,000,000 個位元組 $1 美元,這個資料欄就會顯示「1,000,000」。 |
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 | 指出透過區域預留項目預留但未使用的用量。 |
storage.googleapis.com/object_state |
live;noncurrent; soft_deleted; multipart | 收費儲存空間物件的狀態。 |
匯出的資料與月結單之間的差異
Google Cloud 產品會以不同間隔將用量和費用資料回報給 Cloud Billing 程序。因此,您可能會發現服務用量和費用資訊延遲顯示在 Cloud Billing 中。 Google Cloud 費用通常會在一天內提供,但有時可能需要超過 24 小時。
在月底時,延遲回報的用量可能不會包含在當月的月結單中,而是計入下個月的月結單。
使用時間戳記欄位查詢費用時,傳回的資料可能會包含近期使用量,而這類使用量原本並未列入相同使用月份的月結單。因此,傳回的 Cloud Billing 資料可能不會直接對應到該月結單。
時間戳記欄位包括:
usage_start_time
usage_end_time
export_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 的錯誤資料。在某些情況下,系統會以新資料取代錯誤的費用。帳單資料匯出作業中的所有資料欄都會與原始資料相符,但下列資料欄除外:
cost
credit
usage.amount
export_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 |
相關主題
與匯出的 Cloud Billing 資料相關的主題
Google Cloud 控制台提供的費用和價格報表
- 查看 Cloud Billing 報表和費用趨勢
- 查看及下載月結單或對帳單的費用明細
- 查看及下載 Google 雲端服務的價格
- 透過費用明細報表瞭解節約效益
- 分析承諾使用折扣的效益
- 查看費用和付款記錄