Saltar para o conteúdo
Todos os artigos
Configuração

Data warehouse: exportar para BigQuery, Snowflake e Redshift

Envie os objetos do CRM (leads, contatos, oportunidades…) para o seu data warehouse. BigQuery é automático; Snowflake e Redshift usam arquivo + COPY.

A integração de Data Warehouse EXPORTA os seus objetos do CRM para o warehouse da SUA empresa (modelo "traga a sua conta", ou BYO). O warehouse é seu: não há custo, margem nem intermediação nossa. Tudo nasce inerte: nada é enviado até você configurar as credenciais e ativar. A leitura é sempre restrita aos dados do seu tenant.

Cada objeto é exportado como linhas com colunas estáveis: id, created_at, updated_at, owner_id e uma coluna por campo (o api_name do campo). São as mesmas colunas do conector de BI: você mapeia uma vez.

Pré-requisitos

  • BigQuery: um projeto no Google Cloud, um dataset de destino e uma service account com o papel "BigQuery Data Editor" nesse dataset, além de uma chave JSON dessa conta.
  • Snowflake/Redshift: um local de staging que você controla (signed URL de um bucket S3/GCS/Azure) para receber o arquivo, e acesso ao warehouse para rodar o comando COPY.
  • No Sellio, ser administrador para salvar as credenciais e ativar a exportação em Configurações → Integrações.

Onde configurar

  1. Abra Configurações → Integrações.
  2. Escolha o cartão do seu warehouse: Google BigQuery, Snowflake ou Amazon Redshift.
  3. Preencha as credenciais, escolha os objetos a exportar e ative.
  4. Use "Exportar agora" para enviar sob demanda.

BigQuery (envio automático)

No BigQuery o envio é automático, por streaming (tabledata.insertAll). Você traz uma service account e nós escrevemos direto nas suas tabelas.

  1. No Google Cloud, crie uma service account e conceda a ela o papel "BigQuery Data Editor" no dataset de destino.
  2. Gere uma chave JSON dessa service account.
  3. No dataset, crie uma tabela por objeto com as colunas estáveis (id STRING, created_at TIMESTAMP, updated_at TIMESTAMP, owner_id STRING e uma coluna por campo).
  4. No cartão BigQuery, informe o Project ID, o Dataset, um prefixo de tabela opcional e cole o JSON da chave. Ative e clique em "Exportar agora".
💡 O nome da tabela de cada objeto é <prefixo><api_name> (ex.: prefixo "crm_" → tabela crm_opportunity). Sem prefixo, a tabela é o próprio api_name. O envio usa o id do registro como insertId, então reenviar o mesmo lote não duplica.

Snowflake e Redshift (arquivo + COPY)

Para Snowflake e Redshift, geramos um arquivo por objeto (NDJSON por padrão, ou CSV) e o ENVIAMOS a uma URL de staging que você controla, por exemplo uma signed URL do seu bucket S3/GCS/Azure. O carregamento final para dentro do warehouse é feito pelo comando COPY, que você executa (ou agenda) no seu warehouse.

  1. No cartão Snowflake/Redshift, informe a URL de staging (o destino do arquivo), o formato (NDJSON ou CSV) e, se o destino exigir, um header de autenticação + segredo.
  2. Escolha os objetos e ative. Clique em "Exportar agora": fazemos PUT do arquivo no seu staging.
  3. No seu warehouse, rode o COPY para carregar o arquivo do staging para a tabela.
Exemplo: Snowflake: COPY INTO crm.opportunity FROM @meu_stage/opportunity FILE_FORMAT = (TYPE = JSON) MATCH_BY_COLUMN_NAME = CASE_INSENSITIVE;
Exemplo: Redshift: COPY crm.opportunity FROM 's3://meu-bucket/opportunity.json' IAM_ROLE 'arn:aws:iam::...:role/redshift' FORMAT AS JSON 'auto ignorecase';
💡 As credenciais (chave da service account do BigQuery, segredo do staging) ficam cifradas e nunca são exibidas de volta. Para trocá-las, cole novamente.

Como testar

  1. Ative o conector, escolha um objeto e clique em "Exportar agora".
  2. BigQuery: abra a tabela <prefixo><api_name> no dataset e confirme que as linhas chegaram (reenviar o mesmo lote não duplica, pois o insertId é o id do registro).
  3. Snowflake/Redshift: confirme que o arquivo foi gravado no seu staging (via PUT); depois rode o COPY e verifique as linhas na tabela.

Solução de problemas

  • BigQuery 403/permissão negada: a service account não tem "BigQuery Data Editor" no dataset, ou a chave JSON está incompleta. Reconceda o papel e recole o JSON.
  • BigQuery "table not found": crie antes a tabela por objeto com as colunas estáveis (id STRING, created_at/updated_at TIMESTAMP, owner_id STRING e uma coluna por campo). O nome é <prefixo><api_name>.
  • Snowflake/Redshift: o PUT ao staging falha: a signed URL expirou ou não permite escrita, ou o header de autenticação do destino está errado. Gere uma nova URL e confira o segredo.
  • COPY não carrega: revise o FILE_FORMAT (NDJSON x CSV) e o mapeamento de colunas (ex.: MATCH_BY_COLUMN_NAME no Snowflake; FORMAT AS JSON no Redshift).
  • Nada é exportado: confirme que o conector está ATIVADO e que há objetos selecionados.

Abrir este artigo dentro do sistema

Leu e quer ver funcionando?

A conta é grátis e o manual inteiro está disponível dentro do sistema, com um assistente que responde pelo próprio conteúdo.

Criar conta grátis
Data warehouse: exportar para BigQuery, Snowflake e Redshift · Sellio