Ir al contenido
Todos los artículos
Configuración

Data warehouse: exportar a BigQuery, Snowflake y Redshift

Envía los objetos del CRM (leads, contactos, oportunidades…) a tu data warehouse. BigQuery es automático; Snowflake y Redshift usan archivo + COPY.

La integración de Data Warehouse EXPORTA tus objetos del CRM al warehouse de TU empresa (modelo "trae tu cuenta", o BYO). El warehouse es tuyo: no hay costo, margen ni intermediación de nuestra parte. Todo nace inerte: no se envía nada hasta que configures las credenciales y actives. La lectura siempre está restringida a los datos de tu tenant.

Cada objeto se exporta como filas con columnas estables: id, created_at, updated_at, owner_id y una columna por campo (el api_name del campo). Son las mismas columnas del conector de BI; mapeas una vez.

Requisitos previos

  • BigQuery: un proyecto en Google Cloud, un dataset de destino y una service account con el rol "BigQuery Data Editor" en ese dataset, además de una clave JSON de esa cuenta.
  • Snowflake/Redshift: un lugar de staging que controlas (signed URL de un bucket S3/GCS/Azure) para recibir el archivo, y acceso al warehouse para ejecutar el comando COPY.
  • En Sellio, ser administrador para guardar las credenciales y activar la exportación en Configuración → Integraciones.

Dónde configurar

  1. Abre Configuración → Integraciones.
  2. Elige la tarjeta de tu warehouse: Google BigQuery, Snowflake o Amazon Redshift.
  3. Completa las credenciales, elige los objetos a exportar y activa.
  4. Usa "Exportar ahora" para enviar bajo demanda.

BigQuery (envío automático)

En BigQuery el envío es automático, por streaming (tabledata.insertAll). Traes una service account y nosotros escribimos directo en tus tablas.

  1. En Google Cloud, crea una service account y concédele el rol "BigQuery Data Editor" en el dataset de destino.
  2. Genera una clave JSON de esa service account.
  3. En el dataset, crea una tabla por objeto con las columnas estables (id STRING, created_at TIMESTAMP, updated_at TIMESTAMP, owner_id STRING y una columna por campo).
  4. En la tarjeta BigQuery, indica el Project ID, el Dataset, un prefijo de tabla opcional y pega el JSON de la clave. Activa y haz clic en "Exportar ahora".
💡 El nombre de la tabla de cada objeto es <prefijo><api_name> (ej.: prefijo "crm_" → tabla crm_opportunity). Sin prefijo, la tabla es el propio api_name. El envío usa el id del registro como insertId, así que reenviar el mismo lote no duplica.

Snowflake y Redshift (archivo + COPY)

Para Snowflake y Redshift, generamos un archivo por objeto (NDJSON por defecto, o CSV) y lo ENVIAMOS a una URL de staging que controlas, por ejemplo una signed URL de tu bucket S3/GCS/Azure. La carga final dentro del warehouse la hace el comando COPY, que ejecutas (o programas) en tu warehouse.

  1. En la tarjeta Snowflake/Redshift, indica la URL de staging (el destino del archivo), el formato (NDJSON o CSV) y, si el destino lo exige, un header de autenticación + secreto.
  2. Elige los objetos y activa. Haz clic en "Exportar ahora": hacemos PUT del archivo en tu staging.
  3. En tu warehouse, ejecuta el COPY para cargar el archivo del staging a la tabla.
Ejemplo: Snowflake: COPY INTO crm.opportunity FROM @mi_stage/opportunity FILE_FORMAT = (TYPE = JSON) MATCH_BY_COLUMN_NAME = CASE_INSENSITIVE;
Ejemplo: Redshift: COPY crm.opportunity FROM 's3://mi-bucket/opportunity.json' IAM_ROLE 'arn:aws:iam::...:role/redshift' FORMAT AS JSON 'auto ignorecase';
💡 Las credenciales (clave de la service account de BigQuery, secreto del staging) se guardan cifradas y nunca se muestran de vuelta. Para cambiarlas, pégalas nuevamente.

Cómo probar

  1. Activa el conector, elige un objeto y haz clic en "Exportar ahora".
  2. BigQuery: abre la tabla <prefijo><api_name> en el dataset y confirma que las filas llegaron (reenviar el mismo lote no duplica, porque el insertId es el id del registro).
  3. Snowflake/Redshift: confirma que el archivo se grabó en tu staging (mediante PUT); luego ejecuta el COPY y verifica las filas en la tabla.

Solución de problemas

  • BigQuery 403/permiso denegado: la service account no tiene "BigQuery Data Editor" en el dataset, o la clave JSON está incompleta. Vuelve a conceder el rol y pega de nuevo el JSON.
  • BigQuery "table not found": crea antes la tabla por objeto con las columnas estables (id STRING, created_at/updated_at TIMESTAMP, owner_id STRING y una columna por campo). El nombre es <prefijo><api_name>.
  • Snowflake/Redshift: el PUT al staging falla: la signed URL venció o no permite escritura, o el header de autenticación del destino es incorrecto. Genera una nueva URL y verifica el secreto.
  • COPY no carga: revisa el FILE_FORMAT (NDJSON vs CSV) y el mapeo de columnas (ej.: MATCH_BY_COLUMN_NAME en Snowflake; FORMAT AS JSON en Redshift).
  • No se exporta nada: confirma que el conector esté ACTIVADO y que haya objetos seleccionados.

Abrir este artículo dentro del sistema

¿Lo leíste y quieres verlo funcionando?

La cuenta es gratis y el manual entero está disponible dentro del sistema, con un asistente que responde con este mismo contenido.

Crear cuenta gratis
Data warehouse: exportar a BigQuery, Snowflake y Redshift · Sellio