

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.

# Exportation de données de requête à l’aide de la fonction aws\$1s3.query\$1export\$1to\$1s3
<a name="postgresql-s3-export-examples"></a>

Exportez vos données PostgreSQL vers Amazon S3 en appelant la fonction [aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3). 

**Topics**
+ [Conditions préalables](#postgresql-s3-export-examples-prerequisites)
+ [Appel de aws\$1s3.query\$1export\$1to\$1s3](#postgresql-s3-export-examples-basic)
+ [Exportation vers un fichier CSV qui utilise un délimiteur personnalisé](#postgresql-s3-export-examples-custom-delimiter)
+ [Exportation vers un fichier binaire avec encodage](#postgresql-s3-export-examples-encoded)

## Conditions préalables
<a name="postgresql-s3-export-examples-prerequisites"></a>

Avant d’utiliser la fonction `aws_s3.query_export_to_s3`, assurez-vous de remplir les conditions préalables suivantes :
+ Installez les extensions PostgreSQL requises comme décrit dans [Présentation de l’exportation de données vers Amazon S3](postgresql-s3-export.md#postgresql-s3-export-overview).
+ Déterminez vers quel emplacement Amazon S3 exporter vos données comme décrit dans [Spécification du chemin d’accès au fichier Amazon S3 vers lequel effectuer l’exportation](postgresql-s3-export.md#postgresql-s3-export-file).
+ Assurez-vous que l’instance de base de données dispose d’un accès à Amazon S3 comme décrit dans [Configuration de l’accès à un compartiment Amazon S3](postgresql-s3-export-access-bucket.md).

Les exemples suivants utilisent une table de base de données appelée `sample_table`. Ces exemples exportent les données dans un compartiment appelé *amzn-s3-demo-bucket*. Les exemples de table et de données sont créés avec les instructions SQL suivantes dans psql.

```
psql=> CREATE TABLE sample_table (bid bigint PRIMARY KEY, name varchar(80));
psql=> INSERT INTO sample_table (bid,name) VALUES (1, 'Monday'), (2,'Tuesday'), (3, 'Wednesday');
```

## Appel de aws\$1s3.query\$1export\$1to\$1s3
<a name="postgresql-s3-export-examples-basic"></a>

Ce qui suit montre les techniques de base permettant d’appeler la fonction [aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3). 

Ces exemples utilisent la variable `s3_uri_1` pour identifier une structure contenant les informations identifiant le fichier Amazon S3. Utilisez la fonction [aws\$1commons.create\$1s3\$1uri](postgresql-s3-export-functions.md#aws_commons.create_s3_uri) pour créer la structure.

```
psql=> SELECT aws_commons.create_s3_uri(
   'amzn-s3-demo-bucket',
   'sample-filepath',
   'us-west-2'
) AS s3_uri_1 \gset
```

Bien que les paramètres varient pour les deux appels de fonction `aws_s3.query_export_to_s3` suivants, les résultats sont les mêmes pour ces exemples. Toutes les lignes de la table `sample_table` sont exportées dans un compartiment appelé *amzn-s3-demo-bucket*. 

```
psql=> SELECT * FROM aws_s3.query_export_to_s3('SELECT * FROM sample_table', :'s3_uri_1');

psql=> SELECT * FROM aws_s3.query_export_to_s3('SELECT * FROM sample_table', :'s3_uri_1', options :='format text');
```

Les paramètres sont décrits comme suit :
+ `'SELECT * FROM sample_table'` – Le premier paramètre est une chaîne de texte obligatoire contenant une requête SQL. Le moteur PostgreSQL exécute cette requête. Les résultats de la requête sont copiés dans le compartiment S3 identifié dans d’autres paramètres.
+ `:'s3_uri_1'` – Ce paramètre est une structure qui identifie le fichier Amazon S3. Cet exemple utilise une variable pour identifier la structure créée précédemment. Vous pouvez plutôt créer la structure en incluant l’appel de fonction `aws_commons.create_s3_uri` en ligne dans l’appel de fonction `aws_s3.query_export_to_s3` comme suit.

  ```
  SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 
     aws_commons.create_s3_uri('amzn-s3-demo-bucket', 'sample-filepath', 'us-west-2') 
  );
  ```
+ `options :='format text'` – Le paramètre `options` est une chaîne de texte facultative contenant des arguments `COPY` PostgreSQL. Le processus de copie utilise les arguments et le format de la commande [PostgreSQL COPY](https://www.postgresql.org/docs/current/sql-copy.html). 

Si le fichier spécifié n’existe pas dans le compartiment Amazon S3, il est créé. Si le fichier existe déjà, il est remplacé. La syntaxe d’accès aux données exportées dans Amazon S3 est la suivante.

```
s3-region://bucket-name[/path-prefix]/file-prefix
```

Les exportations les plus volumineuses sont stockées dans plusieurs fichiers, chacun ayant une taille maximale d’environ 6 Go. Les noms de fichiers supplémentaires ont le même préfixe de fichier mais en ajoutant `_partXX`. `XX` représente 2, puis 3, et ainsi de suite. Par exemple, supposons que vous spécifiiez le chemin d’accès où vous stockez les fichiers de données comme suit.

```
s3-us-west-2://amzn-s3-demo-bucket/my-prefix
```

Si l’exportation doit créer trois fichiers de données, le compartiment Amazon S3 contient les fichiers de données suivants.

```
s3-us-west-2://amzn-s3-demo-bucket/my-prefix
s3-us-west-2://amzn-s3-demo-bucket/my-prefix_part2
s3-us-west-2://amzn-s3-demo-bucket/my-prefix_part3
```

Pour obtenir la référence complète de cette fonction et les moyens supplémentaires de l’appeler, consultez [aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3). Pour plus d’informations sur l’accès aux fichiers dans Amazon S3, consultez [Afficher un objet](https://docs.aws.amazon.com/AmazonS3/latest/userguide/OpeningAnObject.html) dans le *Guide de l’utilisateur Amazon Simple Storage Service*. 

## Exportation vers un fichier CSV qui utilise un délimiteur personnalisé
<a name="postgresql-s3-export-examples-custom-delimiter"></a>

L’exemple suivant montre comment appeler la fonction [aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3) pour exporter des données vers un fichier qui utilise un délimiteur personnalisé. L’exemple utilise les arguments de la commande [PostgreSQL COPY](https://www.postgresql.org/docs/current/sql-copy.html) pour spécifier le format CSV (valeur séparée par des virgules) et un délimiteur deux-points ( :).

```
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format csv, delimiter $$:$$');
```

## Exportation vers un fichier binaire avec encodage
<a name="postgresql-s3-export-examples-encoded"></a>

L’exemple suivant montre comment appeler la fonction [aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3) pour exporter des données vers un fichier binaire ayant un encodage Windows-1253.

```
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format binary, encoding WIN1253');
```