LIST

Retourne une liste de fichiers qui ont été préparés (c.-à-d. téléchargés à partir d’un système de fichiers local ou déchargés d’une table) dans l’une des zones de préparation suivantes de Snowflake :

  • Zone de préparation interne nommée.

  • Zone de préparation externe nommée.

  • Zone de préparation pour une table spécifiée.

  • Zone de préparation pour l’utilisateur actuel.

LIST peut être abrégé en LS.

Voir aussi :

REMOVE

PUT, COPY INTO <table>

COPY INTO <emplacement>, GET

Syntaxe

LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
Copy

Où :

internalStage ::=
    @[<namespace>.]<int_stage_name>[/<path>]
  | @[<namespace>.]%<table_name>[/<path>]
  | @~[/<path>]
Copy
externalStage ::=
    @[<namespace>.]<ext_stage_name>[/<path>]
Copy

Paramètres requis

internalStage | externalStage

Indique l’emplacement où les fichiers de données sont stockés en zone de préparation :

@[namespace.]int_stage_name[/path]

Les fichiers se trouvent dans la zone de préparation interne nommée spécifiée.

@[namespace.]ext_stage_name[/path]

Les fichiers se trouvent dans la zone de préparation externe nommée spécifiée.

@[namespace.]%table_name[/path]

Les fichiers sont mis en zone de préparation pour la table spécifiée.

@~[/path]

Les fichiers sont mis en zone de préparation pour l’utilisateur actuel.

Où :

  • namespace est la base de données et/ou le schéma dans lequel réside l’échelon ou la table nommé(e). Il est facultatif si une base de données et un schéma sont actuellement utilisés dans la session. Dans le cas contraire, il est nécessaire.

  • path est un chemin facultatif sensible à la casse pour les fichiers de l’emplacement de stockage Cloud (c’est-à-dire que les fichiers ont des noms qui commencent par une chaîne commune) qui limite l’accès à un ensemble de fichiers. Les chemins sont appelés préfixes ou dossiers selon les services de stockage Cloud.

Note

Si le nom ou le chemin de la zone de préparation comprend des espaces ou des caractères spéciaux, il doit être placé entre guillemets simples (par exemple, '@"my stage"' pour une zone de préparation nommée "my stage").

Astuce

La spécification d’un chemin permet à la commande LIST d’avoir une portée, ce qui réduit potentiellement le temps nécessaire à l’exécution de la commande.

Paramètres facultatifs

PATTERN = 'regex_pattern'

Spécifie un modèle d’expression régulière pour filtrer les fichiers de la sortie. La commande répertorie tous les fichiers dans le path spécifié et applique le modèle d’expression régulière sur chacun des fichiers trouvés.

Notes sur l’utilisation

  • Contrairement aux zones de préparation nommées, les zones de préparation de table et d’utilisateur ne sont pas des objets de base de données de première classe, mais plutôt des zones de préparation implicites associées à la table/l’utilisateur. En tant que tels, ils n’ont pas de privilèges qui leur sont propres :

    • Vous pouvez toujours lister les fichiers dans votre zone de préparation utilisateur (c’est-à-dire qu’aucun privilège n’est requis).

    • Pour lister les fichiers dans une zone de préparation de table, vous devez utiliser un rôle qui a le privilège OWNERSHIP sur la table.

Sortie

La commande renvoie les colonnes suivantes :

Colonne

Type de données

Description

nom

VARCHAR

Nom du fichier en zone de préparation.

taille

NUMBER

Taille du fichier compressé (en octets).

md5

VARCHAR

La colonne MD5 stocke un hachage MD5 du contenu du fichier de données mis en zone de préparation, qui peut être utilisé pour vérifier que le fichier a été mis en zone de préparation (transféré) correctement. Notez que les zones de préparation Amazon S3 signalent la valeur via le champ S3 eTag, qui ne correspond peut-être pas à un hachage MD5 du contenu du fichier.

dernière_modification

VARCHAR

Horodatage de la dernière mise à jour du fichier dans la zone de préparation.

Exemples

Énumérer tous les fichiers de la zone de préparation de la table mytable :

LIST @%mytable;
Copy

Énumérer tous les fichiers dans le chemin path1 de la zone de préparation nommée mystage :

LIST @mystage/path1;
Copy

Énumérer les fichiers qui correspondent à une expression régulière (c’est-à-dire tous les noms de fichiers contenant la chaîne data_0) dans la zone de préparation de la table mytable :

LIST @%mytable PATTERN='.*data_0.*';
Copy

Énumérer les fichiers dans le chemin /analysis/ de la zone de préparation my_csv_stage qui correspondent à une expression régulière (c’est-à-dire tous les noms de fichiers contenant la chaîne data_0) :

LIST @my_csv_stage/analysis/ PATTERN='.*data_0.*';
Copy

Utiliser la forme abrégée de la commande pour lister tous les fichiers de la zone de préparation pour l’utilisateur courant :

LS @~;
Copy