Vous pouvez charger vos données relationnelles spécifiques à votre activité sur les bases de données hébergées par Emarsys. Avec cette option, Emarsys héberge les bases de données où vos données sont conservées.
Dans le cas où vous utilisez Relational Data comme un service entièrement géré, c'est la responsabilité d'Emarsys de prendre en charge et mener à bien toutes les étapes d'implémentation nécessaires. L'équipe implémentation Emarsys offre le support pour l'implémentation.
Pour gérer Relational Data avec une base de données hébergée par Emarsys en self-service, voir la section : Comment gérer votre base de données hébergée par Emarsys ?
Comment gérer votre base de données hébergée par Emarsys ?
Après l'activation de Relational Data en self-service sur votre compte, vous pouvez accéder à une base de données MySQL via phpMyAdmin.
Allez à Add-ons->Relational Data-> onglet Connections et cliquez sur l' icône oeil pour accéder à la base de données.
Sur la page MyAdmin vous pouvez créer des tableaux et des vues, et en assurer la maintenance avec des capacités limitées. Certaines des fonctionnalités phpMyAdmin ne sont pas accessibles à cause de contraintes sécuritaires.
Fonctionnalités disponibles :
- Créer, Modifier, Supprimer, Copier Tableau et Vue
- Exécuter des requêtes SQL sur le tableau et la vue
- Rechercher des dossiers dans Tableau/Vue
- Exporter des dossiers limités à partir du tableau
- Insérer un dossier dans le Tableau
Contactez le support Emarsys pour optimiser vos tableaux en toute sécurité après la suppression d'un gros volume de données. En cas d'optimisation manquante la taille des tableaux reste la même.
Vous pouvez aussi connecter vos propres bases de données hébergées par le client (externes) à Emarsys et utiliser les champs de données qu'elles contiennent pour créer des segments ou remplir des variables de personnalisation. Pour plus d'informations, voir L'intégration Relational Data pour les clients utilisant des bases de données hébergées par le client.
Pour des informations générales, voir : Relational Data - Aperçu
Quel type de chargement de données vous intéresse ?
Vous pouvez charger vos données en optant pour l'une ou l'autre des options suivantes :
L'API Emarsys fournit aux clients un accès pour charger leurs données sur les serveurs Emarsys. Pour une performance et un transfert de données optimaux, nous recommandons d'utiliser l'API Emarsys - cela vous oblige néanmoins à avoir certaines ressources techniques pour l'intégrer à vos applications. Pour plus de détails, voir Transférer des données via l'API.
Vous pouvez téléverser vos fichiers de données dans le serveur SFTP (Protocole de transfert de fichier sécurisé - "Secure File Transfer Protocol") hébergé par Emarsys Par ce moyen plus fréquemment utilisé, vous pouvez traiter plus de données (un gros volume de données) plus vite.
1. Accéder au serveur SFTP
Pour charger vos fichiers de données vers un serveur SFTP hébergé par Emarsys, vous devez d'abord obtenir les choses suivantes :
- Une clé publique SSH : Générez votre clé publique OpenSSH, en utilisant par exemple PUTTYgen. Une fois la clé créée, assurez-vous d'utiliser le format de clé OpenSSH. Confirmez que le texte dans la clé SSH commence par : "
ssh-rsa
". Si le texte dans la clé SSH commence par "BEGIN SSH2 PUBLIC KEY
", c'est qu'il est au mauvais format. - Compte utilisateur et privilèges utilisateur : Vous pouvez demander votre accès au Support Emarsys. Vous devez attacher votre clé publique au ticket de requête.
- Registre utilisateur : Emarsys vous fournit un registre où conserver vos données.
Les détails pour accéder à un serveur SFTP hébergé par Emarsys :
- URL : sftp://suitesftp.emarsys.net
- Port : 22
2. Connecter les fichiers de données aux tableaux de données
Pour importer vos données dans le bon tableau de base de données d'abord, vous devez configurer les paramètres et les connexions entre le fichier CSV et le tableau. De cette manière, nous pouvons identifier quel CSV à charger dans quel tableau. Pour faire ceci, allez à Add-ons -> Relational Data -> onglet Tableaux & Vues. Dans cette liste vous pouvez voir tous les tableaux et toutes les vues pour toutes les connexions.
Cette page liste tous les tableaux de données et vues disponibles. Attention, vous ne pouvez importer des données que dans des tableaux.
- Cliquez sur l'icône Définir le fichier de chargement sur le côté droit de la ligne de tableau.
2. Activer le chargement SFTP vers le tableau en cochant la case Autoriser le chargement SFTP.
3. Dans le champ Nom de fichier vous pouvez configurer le modèle de nom de fichier. Tous les fichiers au nom de fichier correspondant au modèle de nom de fichier donné seront chargés sur le tableau. Par ex. : Si vous utilisez product*
, chaque fichier qui commence par le mot "produit" sera importé dans ce tableau.
- Pour le modèle de nom de fichier, vous pouvez utiliser un astérisque (*) comme caractère générique.
- Un champ de nom de fichier ne peut contenir que des caractères alphanumériques et '.', '_', '-' ou '*'.

4. Cocher la case La première ligne est l'en-tête exclura la première ligne du fichier de l'importation. Attention, nous n'associons pas les colonnes dans le fichier .csv aux champs du tableau cible. L'ordre des colonnes dans votre .csv doit correspondre à l'ordre des champs dans votre tableau.
5. Vous pouvez configurer différents séparateurs. Il est recommandé d'utiliser le même séparateur pour chaque fichier.
6. Cliquez sur Sauvegarder pour sauvegarder vos paramètres.
Modes d'importation
Nommer vos fichiers de données .csv est crucial, car le mode de chargement de vos fichiers .csv peut être contrôlé par le suffixe du nom de fichier. Les noms de fichier sont sensibles à la casse. N'utilisez que des lettres minuscules. Par ex. : filename.[loadingmode].csv
Modes d'importation :
- Remplacer: Sauf indication contraire, le Mode d'importation remplacer remplace le contenu existant du tableau cible par les lignes dans le fichier. Par ex. :
filename.csv
- En cas de remplacement, le mécanisme de chargement charge d'abord vos données dans un tableau temporaire. Quand le chargement des données s'est achevé avec succès, le vieux tableau est abandonné et remplacé par un nouveau.
- Annexer : Toutes les lignes sont insérées en tant que nouveaux enregistrements du fichier .csv vers le tableau. Par ex. :
tablename.append.csv
- Insérer en haut : Insère toutes les nouvelles lignes issues du fichier .csv dans le tableau. Par ex. :
filename.upsert.csv
Les lignes existantes sont mises à jour. S'il y a une clé principale dans le fichier .csv ayant une correspondance exacte dans le tableau, l'enregistrement dans le tableau sera mis à jour avec les données du fichier .csv.
Vous pouvez charger plusieurs fichiers .csv à la fois, mais vous ne pouvez pas préciser l'ordre du traitement entre les fichiers et au sein d'un fichier .csv. Ne chargez pas les fichiers ensemble, si la commande des fichiers est importante.
Vous pouvez charger plusieurs fichiers sur le même tableau dans le même lot seulement dans ce cas-là, s'il n'y a aucun fichier de remplacement parmi eux. Autrement, le processus de chargement échouera.
Structure du fichier CSV
Pour importer vos fichiers de données, elle doit remplir les critères suivants :
- Le format est fichier .csv (valeurs séparées par une virgule).
- Crypté avec UTF-8 Unicode.
- Avoir une fin de fichier Windows (\r\n) ou UNIX (\n). Les vieilles terminaisons de ligne utilisées par MacOS (\r) ne sont pas supportées.
Pour réduire le temps de chargement, utilisez des fichiers de données plus petit. La limite absolue de taille de fichier est de 80 GO.
La structure du fichier de données .csv doit être comme suit :
En-tête
- Au cas où votre fichier .csv contient un en-tête, dans la boîte de dialogue Charger les paramètres cochez que la Première ligne est un entête pour éviter que l'en-tête soit importé comme données.
Attention, nous n'associons pas les colonnes dans le fichier .csv aux champs du tableau cible. L'ordre des colonnes dans le .csv doit correspondre à l'ordre des champs dans le tableau de données.
Champ(s) clé(s) principal/aux
- Veuillez à ne pas utiliser une clé principale deux fois, car une seule est importée. Dans le cas où vous utilisez plusieurs clés principales, Emarsys ne peut pas garantir quelle clé principale sera la clé finale, car le traitement des lignes n'est pas séquentiel.
- Ordonner les données par clé(s) principale(s) augmente le processus d'importation de manière significative.
Champs
- Les champs doivent être séparés par un caractère configuré dans les paramètres de chargement.
- Les données doivent être encadrées par des guillemets (").
- Si vos données contiennent un guillemet simple, vous devez utiliser les données entre guillemets (") et vous devez utiliser alors une barre oblique inversée (\) comme caractère d'échappement. Par ex. : "bonjour \" tout le monde" est importé comme bonjour " tout le monde
- Dans le cas de l'importation d'un caractère de barre oblique inversée (\), vous devez utiliser un caractère d'échappement. Par ex. : "bonjour \\tout le monde est importé comme bonjour\tout le monde.
- Pour importer un caractère séparateur, vous devez mettre la valeur de champ entre guillemets (").
- Assurez-vous d'utiliser le type de données correct défini par la colonne du tableau pertinente, sinon l'importation entraînera une perte de données. Faites attention à la longueur des données, car les champs de texte sont tronqués s'ils sont plus longs que définis. Si l'installation Relation Data a été réalisée par Emarsys (Entièrement gérée) vous pouvez consulter la structure des tableaux dans vos accords antérieurs. Veillez à conserver la structure validée des colonnes, ou bien vos données deviennent incohérentes et l'importation peut échouer.
- DATE, utilisez le format 'AAAA-MM-JJ' format, par ex. : '1970-01-01'
- HEURE DE DATE or HORODATAGE, utilisez 'AAAA-MM-JJ hh:mm:ss' par ex. : '1970-01-01 00:00:01'
Même si votre fichier .csv contient des en-têtes, le processus d'importation ne correspond pas aux colonnes dans le fichier avec les champs du tableau cible. L'ordre des colonnes dans votre .csv doit correspondre à l'ordre des champs de tableau de données relationnelles.
3. Chargement SFTP
Après avoir donné l'accès avec succès et vous être connecté au serveur SFTP hébergé par Emarsys, vous pouvez commencer à téléverser vos fichiers de données. Seuls les fichiers en provenance du répertoire racine SFTP sont importés, tous les autres sous-répertoires sont ignorés.
- Une fois que vous êtes prêt au niveau du chargement, vous devez notifier le système de passer au mécanisme d'importation en chargeant un fichier de contrôle nommé
upload.finished
. Veillez à charger le fichier de contrôle après les fichiers .csv. Le fichier de contrôle peut être vide. Il empêche le traitement partiel des fichiers chargés. - Le processus d'importation commence aussitôt que le fichier de contrôle est chargé (et que vous avez correctement configuré le chargement SFTP).
- Attendez jusqu'à ce que
upload.finished
disparaisse avant de commencer à charger les nouveaux fichiers, sinon vous recevrez le message d'erreur L'importation a échoué parce qu'une autre importation était déjà en cours. - Relational Data recherche de nouveaux fichiers de données à intervalles réguliers. Les fichiers traités avec succès et les fichiers restants longtemps sur SFTP sont supprimés du serveur.
Les déclencheurs SQL et les clés étrangères ne sont pas supportés en cas d'importations .csv.
Surveiller l'état d'une importation
Deux options existent pour surveiller l'état d'une importation :
- Dans l'onglet Historique SFTP vous pouvez suivre votre processus d'importation. Vous pouvez voir les résultats de l'importation et consulter le nombre de lignes affectées. Si un chargement échoue, passez au-dessus de l'état pour voir une courte explication dans l'infobulle qui apparaît.

- Vous pouvez aussi consulter le fichier
upload_result.json
. Ce fichier a été créé à la racine de votre dossier SFTP quand le chargement s'est terminé. Le fichier liste le résultat de l'importation pour tous les tableaux affectés dans un tableau JSON .
Exemple Résultats
Importation réussie :
[{ "tableName": "activities", "status": "finished", "operation": "append", "affectedRows": 2228 }] Unsuccessful import: [{ "tableName": "sale", "status": "finished", "operation": "append", "error": "failure:query_timeout" }]
Déboguer votre téléversement SFTP
Vous trouverez ici quelques idées pour déboguer votre chargement SFTP.
Le processus d'importation ne démarre pas
Vérifiez les choses suivantes à la recherche d'une explication :
- Le format de fichier et d'extension est bien .csv.
- Autoriser le chargement SFTP est activé pour le tableau sur l'onglet Tableaux & Vues dans Relational Data.
- Le nom de fichier obéit aux conventions configurées dans les paramètres de chargement SFTP.
- Le fichier de données est chargé à la racine de votre registre SFTP.
- Vous avez chargé le fichier de contrôle. Par ex :
upload.finished
Le processus d'importation a échoué
Cherchez la raison de l'erreur sur l'onglet Historique SFTP ou dans le fichier upload_result.json
.
Vérifiez erreurs possibles suivantes :
- wrong_encoding - "L'importation a échoué à cause d'une erreur de codage. Veuillez vérifier que le codage de caractère du fichier CSV est bien UTF-8, puis ré-essayez de charger."
- non_existent_target_table - "L'importation a échoué parce que le tableau que vous essayez de charger est introuvable. Veuillez vous assurer que le tableau existe puis ré-essayez.",
- conflicting_files - "L'importation a échoué parce que plusieurs fichiers ciblaient le même tableau dans la base de données. Essayez d'importer les fichiers séparément.",
- foreign_key_constraint_failed - "L'importation a échoué à cause d'une violation de clé étrangère. Veuillez vous assurer que le fichier CSV chargé est bien à jour et ré-essayez.",
- overlapping_load - "L'importation a échoué parce qu'une autre importation était déjà en cours. Veuillez ré-essayer quand l'importation précédente est terminée."
Les lignes affectées ne sont pas celles attendues
Vérifiez les choses suivantes à la recherche d'une explication :
- Le mode d'importation n'a pas été inséré en haut :
- En cas d'insertion vers le haut le nombre de lignes affectées peut être plus important que le nombre de lignes originel. Dans certains cas la mise à jour compte comme 2 lignes mises à jour.
- Une ligne peut être mise à jour plusieurs fois par les lignes d'input. Cela peut avoir pour résultat un compte de mise à jour "plus-bas-qu'attendu".
- Il n'y avait pas de clés principales identiques ou de contraintes uniques.
- Les types de données sont corrects. Par ex. : Les chaînes ne peuvent pas être importées en champs numériques, sinon elles seront représentées par 0.
Processus d'importation de chargement manuel
C'est une manière simple de charger des données dans des tableaux RDS hébergés par Emarsys. C'est pratique puisque vous n'avez pas besoin de l'accès SFTP, d'outils logiciels ou d'un savoir-faire SFTP quelconque.
Ayez à l'esprit que les chargements vont ici directement à votre base de données live, donc veuillez vous assurer que c'est bien ce que vous voulez avant d'exécuter une importation.
- Allez à Add-ons -> Relational Data -> Tableaux & Vues.
- Trouvez votre tableau RDS existant pour y charger les données.
- Cliquez sur l'icône charger sur la droite et allez à l'onglet Chargement manuel sur la page Gérer les chargements.
- Configurez votre chargement de données.
- Choisissez le type d'opération.
- Insérez exclusivement des nouveaux dossiers : toutes les données sont ajoutées comme nouvelles, seuls les dossiers en conflit de clé primaire sont sautés.
- Actualisez les dossiers existants et ajoutez-en de nouveaux : les lignes issues du fichier
.csv
auxquelles une clé primaire correspond exactement dans le tableau existant sont actualisées, les autres lignes sont insérées en tant que lignes nouvelles.
- Sélectionnez le séparateur de tableau utilisé dans votre fichier
.csv
.-
;
point virgule -
,
virgule -
|
trait vertical
-
- Précisez si la première ligne est une ligne d'en-tête.
- Choisissez le type d'opération.
- Chargez les fichier
.csv
file : faites glisser-déposer ou sélectionnez un fichier.
Une bar de progression affiche l'état de chargement.
- Quand le chargement est complet et que vous voulez avancez, cliquez sur Commencer l'importation.
- Vérifiez la progression de votre importation.
- Après que vous avez cliqué sur Commencer l'importation, une notification apparaît qui signale que l'importation a commencé.
- Vous pouvez maintenant quitter cette page et aller à l'onglet Relational Data - Historique d'importation.
- Vous devriez voir votre importation avec l'horodatage actuel automatiquement ajouté au nom de fichier.
- Quand l'importation est finie, testez vos données chargées pour vous assurer que le chargement a réussi.
Chargements en cours
Si des importations sont en cours soit via SFTP, soit par Chargement manuel, ces importations en cours doivent d'abord s'achever pour que la nouvelle importation puisse commencer.
Limitations
- Chargez les données dans des tableaux et non des vues.
- Seuls les fichiers avec une extension
.csv
sont acceptés - pas plus gros que 4 MO. - Il n'est pas possible d'utiliser Remplacer comme méthode de chargement. Celui-ci ne s'effectue que par SFTP.
- Chargez un fichier à la fois. Si vous essayez de charger plusieurs fichiers en même temps, un message d'erreur apparaît.