Lister fichiers
Énumère le contenu d'une connexion storage (Local, SFTP, FTP, S3, GCS, Azure) sans rien lire : fichiers, dossiers, ou les deux. Une ligne par entrée.
C'est la brick à utiliser quand il faut d'abord décider quoi traiter. La Source fichier lit toujours le contenu — pertinent pour transformer des données, inadapté pour inventorier un dossier ou piloter un traitement fichier par fichier.
Paramètres
| Paramètre | Défaut | Description |
|---|---|---|
connection_id | — | Connexion storage utilisée. |
entry_type | files | Ce qui est retenu : files, folders ou all. |
filters | * inclus | Masques de recherche ordonnés — voir ci-dessous. |
sub_path | (vide) | Sous-dossier à lister, relatif à la racine de la connexion. |
recursive | false | Descendre dans les sous-dossiers — indépendamment de entry_type. |
max_files | 0 | Garde-fou sur un dossier volumineux. 0 = pas de limite. |
sort_by | name | name, modified_at ou size. |
sort_desc | false | Ordre décroissant. |
fail_if_empty | false | Échouer quand aucun fichier ne correspond. |
Masques de recherche
Un tableau de règles, appliquées dans l'ordre :
| Nom | Masque | Type |
|---|---|---|
| toutlespdf | *.pdf | Inclure |
| removeclientA | CLIENTA_* | Exclure |
Le nom ne sert qu'à s'y retrouver. Le masque est un motif glob appliqué au nom du fichier, pas au chemin.
L'ordre porte le sens
Les règles sont parcourues de haut en bas et la dernière qui correspond l'emporte. L'exemple ci-dessus se lit donc « tous les PDF, sauf ceux du client A » — dans l'ordre où on l'énonce. Inverser les deux lignes donnerait l'inverse : l'exclusion serait annulée par l'inclusion qui la suit.
L'état de départ dépend des règles présentes :
- s'il existe au moins une inclusion, un fichier part exclu — seul ce qui est explicitement inclus passe ;
- s'il n'y a que des exclusions, il part inclus — tout passe sauf.
Fichiers, dossiers ou les deux
entry_type décide de ce qui sort. La récursion est indépendante : on peut
demander uniquement les fichiers tout en descendant dans l'arborescence, ou
n'énumérer que les dossiers de premier niveau.
La colonne entry_type distingue les deux en aval — sans elle, un dossier
serait indiscernable d'un fichier sans extension.
Prévisualiser
Le bouton Prévisualiser affiche les dix premières lignes. Sans masque, c'est la liste complète du dossier ; avec des masques, le résultat filtré.
Le filtrage est exécuté par le runner avec le même moteur que la brick à l'exécution : l'aperçu montre ce que la brick produira, et non une approximation recalculée dans le navigateur.
Colonnes de sortie
| Colonne | Type | Description |
|---|---|---|
entry_type | String | file ou folder. |
file_name | String | Nom de l'entrée. |
file_path | String | Chemin relatif à la racine de la connexion. |
file_dir | String | Dossier parent, vide à la racine. |
extension | String | Extension en minuscules, point inclus. |
file_size | Integer | Taille en octets — indicative sur un dossier. |
modified_at | String | Date de dernière modification. |
Filtrer sans nouveau paramètre
La sortie est une DataFrame ordinaire : les filtres se font avec les bricks existantes plutôt qu'avec des options supplémentaires ici.
Les masques portent sur le nom ; tout le reste se filtre en aval. Pour ne
garder que les fichiers de plus de 10 Ko, un
Lignes avec la condition
file_size > 10000 suffit. Pour trier, dédoublonner ou joindre à un inventaire
existant, même principe.
Par défaut, un dossier sans correspondance produit zéro ligne sans erreur :
un traitement planifié n'a pas à échouer parce qu'il n'y avait rien à faire.
Activez fail_if_empty quand l'absence de fichier est réellement anormale.