REMOVE

Supprime les fichiers d’une zone de préparation externe (stockage Cloud externe) ou interne (c.-à-d. Snowflake).

Pour les zones de préparation internes, les types de zones de préparation suivants sont pris en charge :

  • Zone de préparation interne nommée

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

  • Zone de préparation pour l’utilisateur actuel

REMOVE peut être abrégé en RM.

Voir aussi :

LIST

Syntaxe

REMOVE { 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 interne 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").

Paramètres facultatifs

PATTERN = 'regex_pattern'

Spécifie un modèle d’expression régulière pour filtrer les fichiers à supprimer. 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

  • Si vous chargez des données à partir d’un fichier d’une zone de préparation, ne retirez pas les fichiers en zone de préparation avant que les données aient été chargées avec succès. Pour vérifier si les données ont été chargées avec succès, utilisez la commande COPY_HISTORY. Vérifiez la colonne STATUS pour vérifier que les données du fichier ont été chargées. Notez que si le statut est Load in progress, la suppression du fichier en zone de préparation peut entraîner des chargements partiels et des pertes de données.

  • La suppression des fichiers d’une zone de préparation externe nécessite d’accorder le rôle ou l’autorisation suivante à Snowflake dans votre compte de stockage Cloud :

    Service de stockage Cloud

    Rôle ou autorisation

    Instructions

    Amazon S3

    s3:DeleteObject

    Configuration de l’accès sécurisé à Amazon S3

    Google Cloud Storage

    storage.objects.delete

    Configuration d’une intégration pour Google Cloud Storage

    Microsoft Azure (stockage Blob)

    Storage Blob Data Contributor

    Configuration d’un conteneur Azure pour le chargement de données

  • La commande supprime tous les répertoires et fichiers qui correspondent à un chemin spécifié. Par exemple, l’instruction suivante correspondrait à l’un des objets suivants dans la zone de préparation de table mytable :

    • myobject.csv.gz (fichier)

    • myobject (répertoire)

    • myobject_new (répertoire)

    rm @%mytable/myobject;
    
    Copy
  • Pour supprimer tous les fichiers d’un répertoire spécifique, incluez une barre oblique avant (/) à la fin du chemin. Par exemple :

    rm @%mytable/myobject/;
    
    Copy
  • Ne pas supprimer le répertoire worksheet_data de la zone de préparation de l’utilisateur de Snowflake. L”Classic Console stocke les métadonnées des feuilles de calcul dans l’onglet Worksheets Onglet Feuille de calcul de ce répertoire. La suppression du répertoire supprime l’accès aux feuilles de calcul, qui ne peuvent pas être restaurées.

    Cette précaution ne s’applique pas aux feuilles de calcul dans Snowsight, qui sont stockées ailleurs et ne sont pas sujettes à une suppression accidentelle.

  • Si une instruction REMOVE est interrompue avant la fin de son exécution, les fichiers déjà supprimés par cette instruction ne sont pas restaurés.

Exemples

Supprimer tous les fichiers du chemin path1/subpath2 d’une zone de préparation interne ou externe nommée mystage :

REMOVE @mystage/path1/subpath2;
Copy

Supprimer tous les fichiers à partir de la zone de préparation de la table orders :

REMOVE @%orders;
Copy

Utiliser la forme abrégée de la commande pour supprimer les fichiers dont les noms correspondent au modèle *jun* de la zone de préparation de l’utilisateur courant :

RM @~ pattern='.*jun.*';
Copy