Utilisation d’un manifeste pour spécifier les fichiers de données - 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.

Utilisation d’un manifeste pour spécifier les fichiers de données

Vous pouvez utiliser un manifeste pour faire en sorte que la commande COPY charge tous les fichiers nécessaires, et seulement ceux-là, lors d’un chargement de données. Vous pouvez utiliser un manifeste pour charger les fichiers de différents compartiments ou les fichiers qui ne partagent pas le même préfixe. Au lieu de fournir un chemin d’objet pour la commande COPY, vous fournissez le nom d’un fichier texte au format JSON qui répertorie explicitement les fichiers à charger. L’URL du manifeste doit spécifier le nom de compartiment et le chemin d’objet complet du fichier, pas simplement un préfixe.

Pour plus d’informations sur les fichiers manifestes, consultez l’exemple de COPY Utilisation d’un manifeste pour spécifier des fichiers de données.

L’exemple suivant illustre le format JSON pour charger les fichiers de différents compartiments et avec des noms de fichiers commençant par des horodatages.

{ "entries": [ {"url":"s3://mybucket-alpha/2013-10-04-custdata", "mandatory":true}, {"url":"s3://mybucket-alpha/2013-10-05-custdata", "mandatory":true}, {"url":"s3://mybucket-beta/2013-10-04-custdata", "mandatory":true}, {"url":"s3://mybucket-beta/2013-10-05-custdata", "mandatory":true} ] }

L’indicateur facultatif mandatory spécifie si la commande COPY doit renvoyer une erreur si le fichier est introuvable. La valeur par défaut de mandatory est false. Quels que soient les paramètres obligatoires, la commande COPY s’arrête si aucun fichier n’est trouvé.

L’exemple suivant exécute la commande COPY avec le manifeste de l’exemple précédent, qui s’appelle cust.manifest.

copy customer from 's3://mybucket/cust.manifest' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' manifest;

Utilisation d’un manifeste créé par une commande UNLOAD

Il se peut qu’un manifeste créé par une opération UNLOAD utilisant le paramètre MANIFEST contienne des clés non nécessaires à l’opération COPY. Par exemple, le manifeste UNLOAD suivant comprend une clé meta qui est requise pour une table externe Amazon Redshift Spectrum et pour charger des fichiers de données au format ORC ou Parquet. La clé meta contient une clé content_length avec une valeur correspondant à la taille réelle du fichier en octets. L’opération COPY nécessite uniquement la clé url et une clé mandatory facultative.

{ "entries": [ {"url":"s3://mybucket/unload/manifest_0000_part_00", "meta": { "content_length": 5956875 }}, {"url":"s3://mybucket/unload/unload/manifest_0001_part_00", "meta": { "content_length": 5997091 }} ] }

Pour plus d’informations sur les fichiers manifeste, consultez Example: COPY from Amazon S3 using a manifest.