通过 Cloud Functions 和 Google Cloud Storage 将数据加载到 BigQuery - 超出套接字流量配额限制

通过 Cloud Functions 和 Google Cloud Storage 将数据加载到 BigQuery - 超出套接字流量配额限制

我有一个 Google Cloud Function (GCF),用于监视 Google Cloud Storage (GCS)。当文件放入特定存储桶时,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 数据中心内部的。

相关内容