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
- Abre Configuración → Integraciones.
- Elige la tarjeta de tu warehouse: Google BigQuery, Snowflake o Amazon Redshift.
- Completa las credenciales, elige los objetos a exportar y activa.
- 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.
- En Google Cloud, crea una service account y concédele el rol "BigQuery Data Editor" en el dataset de destino.
- Genera una clave JSON de esa service account.
- 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).
- 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".
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.
- 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.
- Elige los objetos y activa. Haz clic en "Exportar ahora": hacemos PUT del archivo en tu staging.
- En tu warehouse, ejecuta el COPY para cargar el archivo del staging a la tabla.
Cómo probar
- Activa el conector, elige un objeto y haz clic en "Exportar ahora".
- 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).
- 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.