Création d’une zone de préparation S3¶
Une zone de préparation externe (c.-à-d S3) spécifie l’emplacement de stockage des fichiers de données afin que les données contenues dans les fichiers puissent être chargées dans une table.
Les données peuvent être chargées directement à partir de fichiers dans un compartiment S3 spécifié, avec ou sans chemin de dossier (ou préfixe, dans la terminologie S3). Si le chemin se termine par /
, tous les objets du dossier S3 correspondant sont chargés.
Note
Dans l’étape précédente, si vous avez suivi les instructions pour configurer un rôle IAM AWS avec les politiques et autorisations requises pour accéder à votre compartiment S3 externe, vous avez déjà créé une zone de préparation S3. Vous pouvez ignorer cette étape et continuer vers Copie des données d’une zone de préparation S3.
Dans ce chapitre :
Zones de préparation externes¶
En plus du chargement direct à partir de fichiers dans des compartiments S3, Snowflake prend en charge la création de zones de préparation externes nommées, qui encapsulent toutes les informations nécessaires à la mise en zone de préparation de fichiers, notamment :
Le compartiment S3 où les fichiers sont mis en zone de préparation.
Les informations d’identification S3 ou de l’objet d’intégration de stockage nommé pour le compartiment (s’il est protégé).
Une clé de chiffrement (si les fichiers du compartiment ont été chiffrés).
Les zones de préparation externes nommées sont facultatives, mais recommandées lorsque vous prévoyez de charger régulièrement des données du même emplacement.
Création d’une zone de préparation externe¶
Vous pouvez créer une zone de préparation externe nommée en utilisant SQL ou l’interface Web.
Note
Vous devez utiliser un rôle qui bénéficie ou hérite du privilège USAGE sur la base de données et le schéma qui stockent la zone de préparation et du privilège CREATE STAGE sur le schéma.
Reportez-vous à Exigences en matière de contrôle d’accès pour CREATE STAGE.
Création d’une zone de préparation externe avec SQL¶
Utilisez la commande CREATE STAGE pour créer une zone de préparation externe à l’aide de SQL.
L’exemple suivant utilise SQL pour créer une zone de préparation externe nommée my_s3_stage
qui fait référence à un compartiment S3 privé/protégé nommé mybucket
avec un chemin de dossier nommé encrypted_files/
. L’instruction CREATE inclut l’intégration de stockage s3_int
qui a été créée dans Option 1 : Configuration d’une intégration de stockage Snowflake pour accéder à Amazon S3 pour accéder au compartiment S3. La zone de préparation fait référence à un objet de format de fichier nommé my_csv_format
, qui décrit les données des fichiers stockés dans le chemin du compartiment :
CREATE STAGE my_s3_stage STORAGE_INTEGRATION = s3_int URL = 's3://mybucket/encrypted_files/' FILE_FORMAT = my_csv_format;
Note
En spécifiant un objet de format de fichier nommé (ou des options de format de fichier individuelles) pour la zone de préparation, il n’est pas nécessaire de spécifier ultérieurement les mêmes options de format de fichier dans la commande COPY utilisée pour charger les données de la zone de préparation.
Création d’une zone de préparation externe avec Snowsight¶
Pour utiliser Snowsight afin de créer une zone de préparation externe nommée, procédez comme suit :
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Data » Databases.
Sélectionnez la base de données et le schéma dans lesquels vous souhaitez créer une zone de préparation.
Sélectionnez Create » Stage.
Sélectionnez le service de stockage Cloud pris en charge où se trouvent vos fichiers.
Entrez un Stage Name.
Saisissez l”URL de votre emplacement de stockage externe dans le Cloud.
Si votre stockage externe n’est pas public, activez Authentication et entrez vos détails. Pour plus d’informations, reportez-vous à CREATE STAGE.
Vous pouvez également désélectionner Directory table. Les tables de répertoire permettent de voir les fichiers sur la zone de préparation, mais elles nécessitent un entrepôt et ont donc un coût. Vous pouvez choisir de désélectionner cette option pour l’instant et d’activer une table de répertoire ultérieurement.
Si vous activez Directory table, sélectionnez éventuellement Enable auto-refresh et sélectionnez votre notification d’événement ou votre intégration de notification pour actualiser automatiquement la table de répertoire lorsque des fichiers sont ajoutés ou supprimés. Pour en savoir plus, voir Actualisation automatique des métadonnées des tables de répertoire.
Si vos fichiers sont cryptés, activez Encryption et entrez vos détails.
Il est possible de développer SQL Preview pour afficher une instruction SQL générée. Pour spécifier des options supplémentaires pour votre zone de préparation telle que AUTO_REFRESH, vous pouvez ouvrir cet aperçu SQL dans une feuille de calcul.
Sélectionnez Create.