Eu tenho um Google Cloud Function (GCF) que assiste o Google Cloud Storage (GCS). Quando um arquivo cai em um determinado intervalo, o GCF dispara um LoadJob informando Big Query (BQ) para importar o arquivo.
Estou usando a função LoadJob do NodeJS que (de o que eu entendo) é suposto apenas instruir BQ para importar o arquivo diretamente. Em outras palavras, o BQ deve falar com o GCS, em vez de o meu GCF ser um intermediário e transmitir os dados de alguma forma.
No entanto, quando minha função é executada em vários arquivos de uma só vez, recebo o seguinte erro de cota do GCF:
Outgoing socket traffic for region us-central1 : per 100 seconds
O valor da cota padrão é 10737418240
, o que suponho ser em bytes, fazendo com que a cota ~ 10 GB a cada 100 segundos.
Por que meu GCF deveria estar fazendo algum tráfego de soquete de saída? A única coisa que estou fazendo é configurar um trabalho BQ para importar. Tudo isso deve ser interno e, além disso, tudo deve estar diretamente entre o BQ e o GCS, não usando minhas cotas / largura de banda do GCF. Os arquivos são bem grandes, mas não é exatamente esse o ponto de carregar no BQ diretamente do GCS?
Nota: Ao ler meu código um pouco mais perto, também estou fazendo uma consulta para mover dados de uma tabela BQ para outra. No entanto, semelhante ao trabalho de carregamento, este é um QueryJob que especifica uma tabela de destino para colocar os resultados nela. Portanto, nenhum desses dados deve ser transmitido através do meu GCF e, em vez disso, toda a transferência de dados deve estar ocorrendo no BQ.