Trigger File
Le trigger File déclenche un workflow lorsqu'un fichier est envoyé à Ecosystem. Il y a plusieurs manières d'envoyer un fichier. Le flux va lire et traiter les données de ce fichier.
Vue d'ensemble
Ce type de trigger est idéal pour :
- Traiter des fichiers reçus via téléchargement direct, FTP/SFTP ou email
- Automatiser le traitement de fichiers batch
- Intégrer avec des systèmes qui envoient des fichiers
- Traiter des fichiers CSV, XML, JSON, XLS, etc.
Méthodes d'envoi
Il existe trois possibilités pour envoyer les fichiers :
Téléchargement direct
Pour déclencher un flux avec le téléchargement direct, il faut l'uploader dans l'onglet spécifique d'Ecosystem (onglet "Upload Files" ou "Envoyer des fichiers").
FTP / SFTP
Pour déclencher un flux à partir d'un dépôt de fichier sur un SFTP, il faut configurer l'accès à un répertoire distant.
Configuration requise :
- Hôte : Adresse IP ou nom de domaine du serveur FTP
- Port : Point d'entrée spécifique sur le serveur où les connexions FTP sont acceptées
- Nom d'utilisateur : Identifiant utilisé pour authentifier l'accès au serveur FTP
- Mot de passe / Clé privée et phrase secrète : En fonction de l'option d'authentification choisie
- Répertoire de travail : Dossier sur le serveur sur lequel écouter le dépôt de fichier
- Répertoire d'archivage : Dossier sur le serveur où les fichiers seront sauvegardés après avoir été lus
- Intervalle de vérification (CRON) : Intervalle sur lequel la récupération des fichiers va s'effectuer (valeur par défaut : toutes les minutes)
Par email
La dernière possibilité est d'envoyer un email avec des fichiers joints : Ecosystem recevra et analysera les pièces jointes pour extraire les données.
Limites :
- 5 fichiers maximum par mail
- 10 Mo par fichier maximum
Configuration :
- Il est conseillé de renseigner une liste blanche d'emails, Ecosystem ne prendra en compte les informations que si elles proviennent d'emails inscrits dans cette liste
- L'adresse mail est communiquée après avoir déployé le déclencheur
- Une fois déployé, cliquez sur le tag qui porte le nom de l'environnement. L'adresse mail s'affichera ensuite dans une pop-in
Configuration
Champs à remplir
| Champ | Obligatoire ? | Description |
|---|---|---|
| Nom | ✅ | Nom du déclencheur |
| Chemin | ✅ | Identifiant unique de l'url (slug) |
| Tags | ❌ | Les tags assignés au déclencheur servent lors de la recherche |
| App | ❌ | Application à laquelle appartient le déclencheur |
| Description | ✅ | Résumé du but de ce déclencheur |
| Méthodes d'envoi | ✅ | Façon dont les données seront reçues (voir ci-dessus) |
| Format | ✅ | Format du fichier reçu : CSV, XML, XLS ou JSON |
| Mode de traitement | ✅ | Façon dont les données seront traitées (voir ci-dessous) |
Format du fichier
Selon le format choisi, des options spécifiques sont disponibles :
Fichier CSV
| Champ | Obligatoire ? | Description |
|---|---|---|
| Délimitation du csv | ❌ | Caractère séparateur de colonnes. Si non renseigné, le caractère pris par défaut est , |
| Sauter un nombre de lignes | ❌ | Permet de commencer la lecture après un certain nombre de lignes |
| Sauter les lignes vides | ✅ | Option permettant d'ignorer les lignes vides |
| Retirer les espaces blancs des noms de colonnes | ✅ | Option permettant de supprimer les espaces et tabulations des colonnes |
Fichier XLS
| Champ | Obligatoire ? | Description |
|---|---|---|
| Nom de la feuille | ❌ | Feuille du fichier à lire |
| Sauter un nombre de lignes | ❌ | Permet de commencer la lecture après un certain nombre de lignes |
Fichier XML
Le workflow reçoit une conversion automatique en JSON du fichier XML reçu.
| Champ | Obligatoire ? | Description |
|---|---|---|
| Sauter un nombre de lignes | ❌ | Permet de commencer la lecture après un certain nombre de lignes |
| Méthode de traitement | ✅ | Mode complet : exécute un seul workflow qui reçoit tout le fichier. Mode lignes : exécute autant de workflows que de lignes |
| Chemin d'extraction | ✅ | Format : jsonPath. En mode complet : mettre $ pour tout le fichier depuis son début, ou mettre le nom d'une section particulière. En mode lignes : donner le nom des lignes, par exemple orders.order si l'on a des balises order dans un tableau orders |
| Sauter les lignes vides | ✅ | Option permettant d'ignorer les lignes vides |
Fichier JSON
| Champ | Obligatoire ? | Description |
|---|---|---|
| Sauter les lignes vides | ✅ | Option permettant d'ignorer les lignes vides |
Mode de traitement
Quel que soit le format du fichier d'entrée, il est possible de choisir entre deux modes de traitement :
- Fichier en entier : Une seule exécution sera lancée, prenant le fichier dans sa totalité
- Fichier par ligne : Une exécution sera lancée pour chaque ligne du fichier. Pour chaque exécution, les données d'entrée seront un objet représentant la ligne correspondante
Intervalle de traitement par ligne (optionnel) : Quand le destinataire des lignes (base de données, api, etc.) n'est pas assez puissant pour absorber les lignes à vitesse maximum, il est possible de définir un temps d'attente entre deux lignes, pour que les lignes ne soient pas exécutées trop vite.
Comportement
Surveillance
Le trigger surveille en continu le répertoire configuré :
- Détecte les nouveaux fichiers
- Déclenche le workflow pour chaque nouveau fichier
- Évite de traiter deux fois le même fichier
Données transmises
Lorsqu'un fichier est détecté, le workflow reçoit :
{
"file": {
"name": "commande-12345.csv",
"path": "/uploads/commande-12345.csv",
"size": 1024,
"extension": ".csv"
},
"content": "... contenu du fichier ..."
}
Exemple d'utilisation
Scénario : Traitement de fichiers CSV
-
Créer le trigger :
- Type : File
- Source : FTP/SFTP
- Path :
/uploads/commandes - Extensions :
.csv - Recherche récursive : Désactivé
-
Créer le workflow associé :
- Lit le contenu du fichier CSV
- Parse les données
- Traite chaque ligne
- Archive le fichier traité
-
Déployer :
- Déployez le trigger dans l'environnement de production
- Le trigger surveille automatiquement le répertoire
Bonnes pratiques
- Organisation : Organisez les fichiers par type dans des dossiers séparés
- Extensions : Spécifiez toujours les extensions pour éviter de traiter des fichiers non pertinents
- Sécurité : Utilisez SFTP plutôt que FTP pour la sécurité
- Nettoyage : Déplacez ou supprimez les fichiers traités pour éviter les doublons
- Monitoring : Surveillez les traces pour détecter les problèmes de traitement