Aller au contenu principal

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

ChampObligatoire ?Description
NomNom du déclencheur
CheminIdentifiant unique de l'url (slug)
TagsLes tags assignés au déclencheur servent lors de la recherche
AppApplication à laquelle appartient le déclencheur
DescriptionRésumé du but de ce déclencheur
Méthodes d'envoiFaçon dont les données seront reçues (voir ci-dessus)
FormatFormat du fichier reçu : CSV, XML, XLS ou JSON
Mode de traitementFaç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

ChampObligatoire ?Description
Délimitation du csvCaractère séparateur de colonnes. Si non renseigné, le caractère pris par défaut est ,
Sauter un nombre de lignesPermet de commencer la lecture après un certain nombre de lignes
Sauter les lignes videsOption permettant d'ignorer les lignes vides
Retirer les espaces blancs des noms de colonnesOption permettant de supprimer les espaces et tabulations des colonnes

Fichier XLS

ChampObligatoire ?Description
Nom de la feuilleFeuille du fichier à lire
Sauter un nombre de lignesPermet 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.

ChampObligatoire ?Description
Sauter un nombre de lignesPermet de commencer la lecture après un certain nombre de lignes
Méthode de traitementMode complet : exécute un seul workflow qui reçoit tout le fichier. Mode lignes : exécute autant de workflows que de lignes
Chemin d'extractionFormat : 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 videsOption permettant d'ignorer les lignes vides

Fichier JSON

ChampObligatoire ?Description
Sauter les lignes videsOption 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

  1. Créer le trigger :

    • Type : File
    • Source : FTP/SFTP
    • Path : /uploads/commandes
    • Extensions : .csv
    • Recherche récursive : Désactivé
  2. Créer le workflow associé :

    • Lit le contenu du fichier CSV
    • Parse les données
    • Traite chaque ligne
    • Archive le fichier traité
  3. 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

Prochaines étapes