將帳單資料匯出至 BigQuery

在管理開發作業的流程中,使用相關工具來監控、分析和最佳化成本已成為重要一環。透過將帳單匯出至 BigQuery 的功能,您隨時可將每日用量與費用估算值自動匯出至您指定的 BigQuery 資料集,並透過 BigQuery 存取帳單資料。您也可以使用這個方法以 JSON 檔案格式匯出資料。

系統也支援將資料匯出為一般的 CSV 和 JSON 檔案。提醒您,如果您選擇匯出為一般檔案,系統擷取的資料集會小於匯出至 BigQuery 所擷取的資料集。如要進一步瞭解如何匯出為一般檔案,以及這種方法所擷取的資料,請參閱將帳單資料匯出為檔案一文。

如何啟用將帳單匯出至 BigQuery 的功能

如要啟用將帳單匯出至 BigQuery 的功能,請按照下列步驟操作:

  1. 前往 Google Cloud Platform 主控台
  2. 開啟左側選單,然後選取 [帳單]
  3. 如果您有多個帳單帳戶,請選取 [前往連結的帳單帳戶] 來管理目前的專案帳單。如要改用其他帳單帳戶,請選取 [管理帳單帳戶]
  4. 點選 [匯出帳單]
  5. 選取 [BigQuery 匯出]
  6. 在「專案」清單中,選取用來儲存您 BigQuery 資料集的專案。如果您尚未建立,系統會提示您建立 BigQuery 資料集。
  7. 視需要建立新資料集,步驟如下:

    1. BigQuery 網頁版 UI 中,依序按一下專案名稱旁邊的向下箭頭 > [Create new dataset] (建立新資料集)
    2. 為資料集指定「資料集 ID」、「資料位置」和「資料有效期限」,然後按一下 [確定]
  8. 在主控台的「帳單匯出資料集」清單中,指定您要將資料匯出到哪個資料集。如果您剛建立資料集,請選擇新資料集的名稱。

  9. 按一下 [啟用 BigQuery 匯出]

啟用 BigQuery 匯出功能後,您可能要等候幾小時才會開始看到您的資料。系統會定期將帳單資料自動匯出至 BigQuery,但 BigQuery 的更新頻率會視您使用的服務而有所不同。請注意,BigQuery 的載入作業符合 ACID 標準,因此,在資料正在載入到 BigQuery 帳單匯出資料集時,如果進行查詢,並不會看到部分載入的資料。進一步瞭解 BigQuery 特性

關於帳單資料匯出表格版本:原始版和 v1 版

視您啟用將資料匯出至 BigQuery 功能的時間點而定,您可能會在資料集中看到超過一個表格。如果您是在這項功能透過 Google Analytics (分析) 發佈後 (2017 年 11 月中旬) 啟用,只會看到 v1 版;請直接略過本節內容。

如果您是在這項功能處於測試版階段時啟用,就會在資料集中看到匯出的帳單資料被整理成兩個表格。兩者包含的資料都相同,但格式分成原始版和新推出的 v1 版。

如果您是測試版計劃的參與者,我們會在限定期間內繼續提供這兩種格式,讓您在轉換至 v1 版結構定義時能夠繼續分析帳單資料。系統收到新帳單資料時會自動將資料匯出成這兩種 BigQuery 表格。

查看表格名稱就會知道所含資料的版本:

  • 原始版:gcp_billingexportBILLING_ACCOUNT_ID
  • v1 版:gcp_billing_exportv1BILLING_ACCOUNT_ID

原始版和 v1 版之間的差異

我們對匯出結構定義做出了幾項變更,除了修改部分資料欄的名稱,使其與整個 Google Cloud Platform 一致以外,還新增了一些資料欄,以便為您提供更多實用的費用相關資訊。

結構定義變更摘要如下:

  • product 資料欄已改名為 service.description
  • resource_type 資料欄已改名為 sku.description
  • start_timeend_time 資料欄已改名為 usage_start_timeusage_end_time
  • 新增了 service.id 資料欄
  • 新增了 sku.id 資料欄
  • 新增了 export_time 資料欄

您可以透過 sku.id 資料欄,將您每一個委刊項對應至 Google Cloud Platform 價格頁面中的定價,並透過 Cloud Billing Catalog API 進行對應。如要瞭解帳單資料的上次更新時間,請查看 export_time 資料欄。

BigQuery 中的帳單資料

下表說明匯出至 BigQuery 的帳單資料內容。

欄位 類型 說明
billing_account_id 字串 與用量相關聯的帳單帳戶 ID。
invoice.month 字串

月結單的年度和月份 (YYYYMM),此月結單內含費用明細項目。例如:「201901」等於 2019 年 1 月。

您可以使用這個欄位來取得月結單上的費用總額。請參閱將帳單資料匯出至 BigQuery 查詢的範例

cost_type 字串

這個明細項目代表的費用類型包括:一般、稅金、調整項或捨入錯誤。

service.id (僅限 v1 版) 字串 與用量相關聯的服務 ID。
service.description (v1 版)
product (原始版)
字串 回報帳單資料的 Google Cloud Platform 服務。
sku.id (僅限 v1 版) 字串 服務所用資源的 ID。如需完整 SKU 清單,請前往 GCP SKU 網頁。
sku.description (v1 版)
resource_type (原始版)
字串 服務所用資源類型的說明。例如,Cloud Storage 使用的資源類型為「美國地區的標準儲存空間」
usage_start_time (v1 版)
start_time (原始版)
時間戳記 UNIX 時間戳記,表示開始使用服務的時間。詳情請參閱 BigQuery 說明文件的時間戳記資料類型一節,以及下方匯出的資料與月結單之間的差異一節。
usage_end_time (v1 版)
end_time (原始版)
時間戳記 UNIX 時間戳記,表示結束使用服務的時間。詳情請參閱 BigQuery 說明文件的時間戳記資料類型一節,以及下方匯出的資料與月結單之間的差異一節。
project.id 字串 產生帳單資料的專案的 ID。
project.name 字串 產生帳單資料的專案的名稱。
project.ancestry_numbers 字串 指定 project.id 所識別之專案的資源階層中的祖系 (例如:my-project-123)。

例如:/ParentOrgNumber/ParentFolderNumber/。進一步瞭解資源階層

project.labels.key 字串 如果有標籤,則此欄顯示的是在產生用量的專案中,標籤鍵/值組的「鍵」部分。如要進一步瞭解如何使用標籤,請參閱使用標籤一文。
project.labels.value 字串 如果有標籤,則此欄顯示的是在產生用量的專案中,標籤鍵/值組的「值」部分。如要進一步瞭解如何使用標籤,請參閱使用標籤一文。
labels.key 字串 如果有標籤,則此欄顯示的是在產生用量的資源中,標籤鍵/值組的「鍵」部分。如要進一步瞭解如何使用標籤,請參閱使用標籤一文。
labels.value 字串 如果有標籤,則此欄顯示的是在產生用量的資源中,標籤鍵/值組的「值」部分。如要進一步瞭解如何使用標籤,請參閱使用標籤一文。
system_labels.key 字串 如果有系統標籤,則此欄顯示的是在產生用量的資源中,系統產生的標籤鍵/值組的「鍵」。另請參閱下方的可用系統標籤
system_labels.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 數量。這個欄位會傳回 2018 年 1 月 22 日至今的資料。
usage.pricing_unit 字串 資源用量的測量單位 (根據目前處於測試階段的 Catalog API)。這個欄位會傳回 2018 年 1 月 22 日至今的資料。
credits.name 字串 帳單帳戶適用的抵免額說明。
credits.amount 浮點 帳單帳戶適用的抵免額金額。抵免額的金額一律都是負數。
export_time (僅限 v1 版) 時間戳記 與新附加資料相關聯的處理時間。每次執行新的匯出作業後,這個值一定會增加。
請另行參閱下方匯出的資料與月結單之間的差異一節。

關於標籤

您會在 BigQuery 資料集中看到標籤資料欄,但在目前的版本中,部分標籤資料欄不會顯示任何數值。視各個服務提供標籤匯出資料的時間而定,系統會在不同時間為不同服務填入資料。

可用系統標籤

產生用量的資源具有重要的中繼資料,這些中繼資料的鍵/值組合即是系統標籤。以下系統標籤會自動加到適用的用量上。

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)。

匯出的資料與月結單之間的差異

時間戳記欄位查詢可能包含尚未列入月結單的近期使用量,因此傳回的資料未必與您的月結單完全吻合。

時間戳記欄位包括:

  • usage_start_time (v1 版) 或 start_time (原始版)
  • usage_end_time (v1 版) 或 end_time (原始版)
  • export_time

錯誤和調整

請注意,如果您的帳單資料有誤或需要調整 (發生這類問題的機率極低),您會在帳單資料中看到用來排除問題的資料。大部分資料欄的內容都維持不變,但下列資料欄的內容將有所變動:

  • cost
  • credit
  • usage.amount
  • export_time

如果您想瞭解哪些是新資料,可以查詢 export_time (僅限 v1 版)。如果您使用的是原始版,可以利用下列查詢:

SELECT partition_id, MSEC_TO_TIMESTAMP(last_modified_time)
FROM [dataset_name.table_name$__PARTITIONS_SUMMARY__]

標準 SQL 不支援修飾分隔符 $,因此您必須透過舊版 SQL 才能使用上述查詢範例。

本頁內容對您是否有任何幫助?請提供意見: