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 :
Syntaxe¶
LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
Où :
internalStage ::= @[<namespace>.]<int_stage_name>[/<path>] | @[<namespace>.]%<table_name>[/<path>] | @~[/<path>]externalStage ::= @[<namespace>.]<ext_stage_name>[/<path>]
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;
Énumérer tous les fichiers dans le chemin path1
de la zone de préparation nommée mystage
:
LIST @mystage/path1;
É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.*';
É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.*';
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 @~;