Aller au contenu principal

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ètreDéfautDescription
connection_id—Connexion storage utilisée.
entry_typefilesCe qui est retenu : files, folders ou all.
filters* inclusMasques de recherche ordonnés — voir ci-dessous.
sub_path(vide)Sous-dossier à lister, relatif à la racine de la connexion.
recursivefalseDescendre dans les sous-dossiers — indépendamment de entry_type.
max_files0Garde-fou sur un dossier volumineux. 0 = pas de limite.
sort_bynamename, modified_at ou size.
sort_descfalseOrdre décroissant.
fail_if_emptyfalseÉchouer quand aucun fichier ne correspond.

Masques de recherche​

Un tableau de règles, appliquées dans l'ordre :

NomMasqueType
toutlespdf*.pdfInclure
removeclientACLIENTA_*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​

ColonneTypeDescription
entry_typeStringfile ou folder.
file_nameStringNom de l'entrée.
file_pathStringChemin relatif à la racine de la connexion.
file_dirStringDossier parent, vide à la racine.
extensionStringExtension en minuscules, point inclus.
file_sizeIntegerTaille en octets — indicative sur un dossier.
modified_atStringDate 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.

Dossier vide

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.