Entrepôt de données : export vers BigQuery, Snowflake et Redshift
Envoyez les objets du CRM (leads, contacts, opportunités…) vers votre entrepôt de données. BigQuery est automatique ; Snowflake et Redshift utilisent fichier + COPY.
L'intégration Entrepôt de données EXPORTE les objets de votre CRM vers l'entrepôt de VOTRE entreprise (modèle « bring your own account », ou BYO). L'entrepôt est le vôtre : il n'y a aucun coût, marge ou intermédiation de notre part. Tout démarre inerte : rien n'est envoyé tant que vous n'avez pas configuré les identifiants et activé l'intégration. La lecture est toujours restreinte aux données de votre tenant.
Chaque objet est exporté sous forme de lignes avec des colonnes stables : id, created_at, updated_at, owner_id et une colonne par champ (l'api_name du champ). Ce sont les mêmes colonnes que le connecteur BI, vous les mappez donc une seule fois.
Prérequis
- BigQuery : un projet dans Google Cloud, un dataset cible et un compte de service disposant du rôle « BigQuery Data Editor » sur ce dataset, ainsi qu'une clé JSON pour ce compte.
- Snowflake/Redshift : un emplacement de staging que vous contrôlez (URL signée d'un bucket S3/GCS/Azure) pour recevoir le fichier, et un accès à l'entrepôt pour exécuter la commande COPY.
- Dans Sellio, un accès administrateur pour enregistrer les identifiants et activer l'export dans Paramètres → Intégrations.
Où configurer
- Ouvrez Paramètres → Intégrations.
- Choisissez la carte de votre entrepôt : Google BigQuery, Snowflake ou Amazon Redshift.
- Renseignez les identifiants, choisissez les objets à exporter et activez.
- Utilisez « Exporter maintenant » pour envoyer à la demande.
BigQuery (envoi automatique)
Dans BigQuery, l'envoi est automatique, via streaming (tabledata.insertAll). Vous fournissez un compte de service et nous écrivons directement dans vos tables.
- Dans Google Cloud, créez un compte de service et accordez-lui le rôle « BigQuery Data Editor » sur le dataset cible.
- Générez une clé JSON pour ce compte de service.
- Dans le dataset, créez une table par objet avec les colonnes stables (id STRING, created_at TIMESTAMP, updated_at TIMESTAMP, owner_id STRING et une colonne par champ).
- Sur la carte BigQuery, saisissez le Project ID, le Dataset, un préfixe de table optionnel et collez la clé JSON. Activez et cliquez sur « Exporter maintenant ».
Snowflake et Redshift (fichier + COPY)
Pour Snowflake et Redshift, nous générons un fichier par objet (NDJSON par défaut, ou CSV) et l'ENVOYONS vers une URL de staging que vous contrôlez, par exemple une URL signée de votre bucket S3/GCS/Azure. Le chargement final dans l'entrepôt est effectué par la commande COPY, que vous exécutez (ou planifiez) dans votre entrepôt.
- Sur la carte Snowflake/Redshift, saisissez l'URL de staging (la destination du fichier), le format (NDJSON ou CSV) et, si la destination l'exige, un en-tête d'authentification + un secret.
- Choisissez les objets et activez. Cliquez sur « Exporter maintenant » : nous envoyons le fichier (PUT) vers votre staging.
- Dans votre entrepôt, exécutez COPY pour charger le fichier du staging vers la table.
Comment tester
- Activez le connecteur, choisissez un objet et cliquez sur « Exporter maintenant ».
- BigQuery : ouvrez la table <préfixe><api_name> dans le dataset et confirmez que les lignes sont arrivées (renvoyer le même lot ne crée pas de doublon, car l'insertId est l'id de l'enregistrement).
- Snowflake/Redshift : confirmez que le fichier a bien été écrit sur votre staging (via PUT) ; exécutez ensuite COPY et vérifiez les lignes dans la table.
Dépannage
- BigQuery 403/permission denied : le compte de service n'a pas le rôle « BigQuery Data Editor » sur le dataset, ou la clé JSON est incomplète. Réattribuez le rôle et recollez le JSON.
- BigQuery « table not found » : créez d'abord la table par objet avec les colonnes stables (id STRING, created_at/updated_at TIMESTAMP, owner_id STRING et une colonne par champ). Le nom est <préfixe><api_name>.
- Snowflake/Redshift : le PUT vers le staging échoue : l'URL signée a expiré ou n'autorise pas l'écriture, ou l'en-tête d'authentification de la destination est incorrect. Générez une nouvelle URL et vérifiez le secret.
- COPY ne charge rien : vérifiez le FILE_FORMAT (NDJSON vs CSV) et le mappage des colonnes (par ex., MATCH_BY_COLUMN_NAME dans Snowflake ; FORMAT AS JSON dans Redshift).
- Rien n'est exporté : confirmez que le connecteur est ACTIVÉ et que des objets sont sélectionnés.