透過 Cloud Functions 和 Google Cloud Storage 將資料載入到 BigQuery - 超出套接字流量配額限制

透過 Cloud Functions 和 Google Cloud Storage 將資料載入到 BigQuery - 超出套接字流量配額限制

我有一個可以監視 Google Cloud Storage (GCS) 的 Google Cloud Function (GCF)。當檔案放入特定儲存桶時,GCF 會啟動 LoadJob,告訴 Big Query (BQ) 要匯入該檔案。

我正在使用NodeJS LoadJob 函數(據我了解)應該只是指示 BQ 直接匯入檔案。換句話說,BQ 應該與 GCS 對話,而不是我的 GCF 作為中間人並以某種方式傳輸資料。

但是,當我的函數同時在大量文件上運行時,我收到以下 GCF 配額錯誤: Outgoing socket traffic for region us-central1 : per 100 seconds

預設配額值為10737418240,我假設以位元組為單位,使得配額每 100 秒約 10GB。

為什麼我的 GCF 應該任何傳出套接字流量?我唯一要做的就是設定要匯入的 BQ 作業。所有這些都應該是內部的,而且,它應該直接在 BQ 和 GCS 之間進行,而不是使用我的 GCF 配額/頻寬。這些檔案相當大,但這不正是直接從 GCS 載入到 BQ 的目的嗎?

注意:在仔細閱讀我的程式碼後,我還執行了一個查詢,將資料從一個 BQ 表移動到另一個 BQ 表。然而,與載入作業類似,這是一個查詢作業它指定一個目標表來放置結果。因此,所有資料都不應該透過我的 GCF 傳輸,所有資料傳輸都應該在 BQ 內進行。

答案1

資料傳輸實際上來自於將檔案解壓縮到 GCS。我收到一個包含多個檔案的大型 .tar.gz,因此我將其(作為流)解壓縮到 GCS。這是所有資料傳輸的來源。

對我來說有點奇怪的是,這被認為是傳出套接字流量,因為它是 Google 資料中心內部的。

相關內容