Carga de datos en BigQuery a través de Cloud Functions y Google Cloud Storage: se excede el límite de cuota de tráfico de socket

Carga de datos en BigQuery a través de Cloud Functions y Google Cloud Storage: se excede el límite de cuota de tráfico de socket

Tengo una función de Google Cloud (GCF) que supervisa Google Cloud Storage (GCS). Cuando un archivo cae en un depósito en particular, el GCF activa un LoadJob que le indica a Big Query (BQ) que importe el archivo.

estoy usando elFunción de carga de trabajo de NodeJSSe supone que eso (por lo que tengo entendido) simplemente indica a BQ que importe el archivo directamente. En otras palabras, se supone que BQ debe hablar con GCS, en lugar de que mi GCF sea un intermediario y transmita los datos de alguna manera.

Sin embargo, cuando mi función se ejecuta en muchos archivos a la vez, aparece el siguiente error de cuota de GCF: Outgoing socket traffic for region us-central1 : per 100 seconds

El valor de cuota predeterminado es 10737418240, que supongo que está en bytes, lo que hace que la cuota sea de ~10 GB cada 100 segundos.

¿Por qué mi GCF debería estar generandocualquier¿Tráfico de socket saliente? Lo único que estoy haciendo es configurar un trabajo de BQ para importar. Todo eso debería ser interno y, además, todo debería ser directamente entre BQ y GCS, sin utilizar mis cuotas/ancho de banda de GCF. Los archivos son bastante grandes, pero ¿no es ese exactamente el objetivo de cargarlos en BQ directamente desde GCS?

Nota: Al leer mi código un poco más de cerca, también estoy haciendo una consulta para mover datos de una tabla BQ a otra. Sin embargo, similar al trabajo de carga, este es unConsultaTrabajoque especifica una tabla de destino para colocar los resultados en ella. Por lo tanto, ninguno de esos datos debería transmitirse a través de mi GCF y, en cambio, toda la transferencia de datos debería realizarse dentro de BQ.

Respuesta1

La transferencia de datos en realidad proviene de descomprimir un archivo en GCS. Recibo un archivo .tar.gz grande que contiene varios archivos, así que lo descomprimo (como una secuencia) en GCS. De aquí proviene toda la transferencia de datos.

Es un poco extraño para mí que esto se considere tráfico de socket saliente, ya que es interno al centro de datos de Google.

información relacionada