COPYdepuis Amazon S3 - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

COPYdepuis Amazon S3

Pour charger des données à partir de fichiers situés dans un ou plusieurs compartiments S3, utilisez la FROM clause pour indiquer comment COPY localiser les fichiers dans Amazon S3. Vous pouvez indiquer le chemin d'accès aux fichiers de données dans le cadre de la FROM clause, ou vous pouvez indiquer l'emplacement d'un fichier manifeste contenant une liste de chemins d'objets Amazon S3. COPYdepuis Amazon S3 utilise une HTTPS connexion. Assurez-vous que les plages d’adresses IP S3 sont ajoutées à votre liste des autorisations. Pour plus d’informations sur les plages d’adresses IP S3 requises, consultez Isolement de réseau.

Important

Si les compartiments Amazon S3 qui contiennent les fichiers de données ne résident pas dans la même AWS région que votre cluster, vous devez utiliser le REGION paramètre pour spécifier la région dans laquelle se trouvent les données.

Syntaxe

FROM { 's3://objectpath' | 's3://manifest_file' } authorization | MANIFEST | ENCRYPTED | REGION [AS] 'aws-region' | optional-parameters

Exemples

L’exemple suivant utilise un chemin d’objet pour charger les données à partir d’Amazon S3.

copy customer from 's3://amzn-s3-demo-bucket/customer' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

L’exemple suivant utilise un fichier manifeste pour charger les données à partir d’Amazon S3.

copy customer from 's3://amzn-s3-demo-bucket/cust.manifest' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' manifest;

Paramètres

FROM

Source des données à charger. Pour plus d’informations sur l’encodage du fichier Amazon S3, consultez Paramètres de conversion de données.

’s3://copy_from_s3_objectpath

Spécifie le chemin d’accès aux objets Amazon S3 contenant les données (par exemple 's3://amzn-s3-demo-bucket/custdata.txt'). Le paramètre s3://copy_from_s3_objectpath peut faire référence à un seul fichier ou à un ensemble d’objets ou de dossiers ayant le même préfixe de clé. Par exemple, le nom custdata.txt est un préfixe de clé qui fait référence à un certain nombre de fichiers physiques : custdata.txt, custdata.txt.1, custdata.txt.2, custdata.txt.bak et ainsi de suite. Le préfixe de clé peut également faire référence à un certain nombre de dossiers. Par exemple, 's3://amzn-s3-demo-bucket/custfolder' fait référence aux dossiers custfolder, custfolder_1, custfolder_2 et ainsi de suite. Si un préfixe de clé fait référence à plusieurs dossiers, tous les fichiers dans les dossiers sont chargés. Si un préfixe de clé correspond à un fichier et à un dossier, par exemplecustfolder.log, COPY tente également de charger le fichier. Si un préfixe de clé peut entraîner une COPY tentative de chargement de fichiers indésirables, utilisez un fichier manifeste. Pour plus d’informations, consultez copy_from_s3_manifest_file, ci-après.

Important

Si le compartiment S3 qui contient les fichiers de données ne réside pas dans la même AWS région que votre cluster, vous devez utiliser le REGION paramètre pour spécifier la région dans laquelle se trouvent les données.

Pour de plus amples informations, veuillez consulter Chargement des données à partir d’Amazon S3.

’s3://copy_from_s3_manifest_file

Spécifie la clé de l’objet Amazon S3 d’un fichier manifeste qui répertorie les fichiers de données à charger. L’argument ’s3://copy_from_s3_manifest_file’ doit explicitement faire référence à un seul fichier, par exemple, 's3://amzn-s3-demo-bucket/manifest.txt'. Il ne peut pas faire référence à un préfixe de clé.

Le manifeste est un fichier texte au JSON format qui répertorie le nom URL de chaque fichier à charger depuis Amazon S3. URLCela inclut le nom du compartiment et le chemin complet de l'objet du fichier. Les fichiers spécifiés dans le manifeste peuvent se trouver dans différents compartiments, mais tous les compartiments doivent se trouver dans la même AWS région que le cluster Amazon Redshift. Si un fichier est répertorié deux fois, le fichier est chargé deux fois. L'exemple suivant montre le JSON cas d'un manifeste qui charge trois fichiers.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/custdata.1","mandatory":true}, {"url":"s3://amzn-s3-demo-bucket1/custdata.2","mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/custdata.1","mandatory":false} ] }

Les guillemets doubles sont nécessaires et doivent être des guillemets simples (0x22), ni culbutés, ni courbes. Chaque entrée dans le manifeste peut éventuellement inclure un indicateur mandatory. S'il mandatory est défini surtrue, COPY se termine s'il ne trouve pas le fichier correspondant à cette entrée ; sinon, il COPY continuera. La valeur par défaut de mandatory est false.

Lors du chargement à partir de fichiers de données au format Parquet ORC ou au format Parquet, un meta champ est obligatoire, comme illustré dans l'exemple suivant.

{ "entries":[ { "url":"s3://amzn-s3-demo-bucket1/orc/2013-10-04-custdata", "mandatory":true, "meta":{ "content_length":99 } }, { "url":"s3://amzn-s3-demo-bucket2/orc/2013-10-05-custdata", "mandatory":true, "meta":{ "content_length":99 } } ] }

Le fichier manifeste ne doit pas être chiffré ou compressé, même si les ENCRYPTED ZSTD options GZIPLZOP,BZIP2,, ou sont spécifiées. COPYrenvoie une erreur si le fichier manifeste spécifié n'est pas trouvé ou si le fichier manifeste n'est pas correctement formé.

Si un fichier manifeste est utilisé, le MANIFEST paramètre doit être spécifié avec la COPY commande. Si le MANIFEST paramètre n'est pas spécifié, COPY suppose que le fichier spécifié par FROM est un fichier de données.

Pour de plus amples informations, veuillez consulter Chargement des données à partir d’Amazon S3.

authorization

La COPY commande a besoin d'une autorisation pour accéder aux données d'une autre AWS ressource, notamment Amazon S3, AmazonEMR, Amazon DynamoDB et Amazon. EC2 Vous pouvez fournir cette autorisation en référençant un rôle AWS Identity and Access Management (IAM) attaché à votre cluster (contrôle d'accès basé sur les rôles) ou en fournissant les informations d'identification d'accès d'un utilisateur (contrôle d'accès basé sur des clés). Pour une sécurité et une flexibilité accrues, nous vous recommandons d'utiliser un contrôle d'accès IAM basé sur les rôles. Pour de plus amples informations, veuillez consulter Paramètres d’autorisation.

MANIFEST

Spécifie qu’un manifeste est utilisé pour identifier les fichiers de données à charger à partir d’Amazon S3. Si le MANIFEST paramètre est utilisé, COPY charge les données à partir des fichiers répertoriés dans le manifeste référencé par « s3://copy_from_s3_manifest_file ». Si le fichier manifeste est introuvable ou s'il n'est pas correctement formé, il COPY échoue. Pour de plus amples informations, veuillez consulter Utilisation d’un manifeste pour spécifier les fichiers de données.

ENCRYPTED

Une clause qui spécifie que les fichiers d’entrée sur Amazon S3 sont chiffrés à l’aide du chiffrement côté client avec des clés gérées par le client. Pour de plus amples informations, veuillez consulter Chargement de fichiers de données chiffrés à partir d’Amazon S3. Ne spécifiez pas ENCRYPTED si les fichiers d'entrée sont chiffrés à l'aide du chiffrement côté serveur Amazon S3 (SSE- KMS ou SSE -S3). COPYlit automatiquement les fichiers chiffrés côté serveur.

Si vous spécifiez le ENCRYPTED paramètre, vous devez également le MASTER_SYMMETRIC_KEY spécifier ou inclure la master_symmetric_key valeur dans la CREDENTIALS chaîne.

Si les fichiers chiffrés sont au format compressé, ajoutez le GZIP ZSTD paramètre LZOPBZIP2,, ou.

Les fichiers manifestes et JSONPaths les fichiers ne doivent pas être chiffrés, même si l'ENCRYPTEDoption est spécifiée.

MASTER_ SYMMETRIC _ KEY « clé_racine »

La clé symétrique racine qui a été utilisée pour chiffrer les fichiers de données sur Amazon S3. Si MASTER _ SYMMETRIC _ KEY est spécifié, le ENCRYPTED paramètre doit également être spécifié. MASTER_ SYMMETRIC _ ne KEY peut pas être utilisé avec le CREDENTIALS paramètre. Pour de plus amples informations, veuillez consulter Chargement de fichiers de données chiffrés à partir d’Amazon S3.

Si les fichiers chiffrés sont au format compressé, ajoutez le GZIP ZSTD paramètre LZOPBZIP2,, ou.

REGION[AS] « aws-region »

Spécifie la AWS région dans laquelle se trouvent les données sources. REGIONest requis COPY à partir d'un compartiment Amazon S3 ou d'une table DynamoDB lorsque AWS la ressource contenant les données ne se trouve pas dans la même région que le cluster Amazon Redshift.

La valeur pour aws_region doit correspondre à une région répertoriée dans le tableau Régions et points de terminaison Amazon Redshift.

Si le REGION paramètre est spécifié, toutes les ressources, y compris un fichier manifeste ou plusieurs compartiments Amazon S3, doivent se trouver dans la région spécifiée.

Note

Le transfert de données entre les régions engage des frais supplémentaires pour le compartiment Amazon S3 ou la table DynamoDB qui contient les données. Pour plus d'informations sur la tarification, consultez les sections OUT Transfert de données d'Amazon S3 vers une autre AWS région sur la page de tarification d'Amazon S3 et Transfert de données OUT sur la page de tarification d'Amazon DynamoDB.

Par défaut, COPY suppose que les données se trouvent dans la même région que le cluster Amazon Redshift.

Paramètres facultatifs

Vous pouvez éventuellement spécifier les paramètres suivants à COPY partir d'Amazon S3 :

Paramètres non pris en charge

Vous ne pouvez pas utiliser les paramètres suivants COPY depuis Amazon S3 :

  • SSH

  • READRATIO