

# Referencia de funciones
<a name="postgresql-s3-export-functions"></a>

**Topics**
+ [aws\$1s3.query\$1export\$1to\$1s3](#aws_s3.export_query_to_s3)
+ [aws\$1commons.create\$1s3\$1uri](#aws_commons.create_s3_uri)

## aws\$1s3.query\$1export\$1to\$1s3
<a name="aws_s3.export_query_to_s3"></a>

Exporta un resultado de consulta PostgreSQL a un bucket de Amazon S3. La extensión `aws_s3` proporciona la función `aws_s3.query_export_to_s3`. 

Los parámetros obligatorios son `query` y `s3_info`. Definen la consulta que se va a exportar e identifican el bucket de Amazon S3 al que se va a exportar. Un parámetro opcional llamado `options` proporciona la definición de varios parámetros de exportación. Para obtener ejemplos sobre el uso de la función `aws_s3.query_export_to_s3`, consulte [Exportación de datos de consulta mediante la función aws\$1s3.query\$1export\$1to\$1s3](postgresql-s3-export-examples.md).

**Sintaxis**

```
aws_s3.query_export_to_s3(
    query text,    
    s3_info aws_commons._s3_uri_1,    
    options text,
    kms_key text
)
```Parámetros de entrada

*query*  
Cadena de texto necesaria que contiene una consulta SQL que ejecuta el motor de PostgreSQL. Los resultados de esta consulta se copian en un bucket de S3 identificado en el parámetro `s3_info`.

*s3\$1info*  
Tipo compuesto `aws_commons._s3_uri_1` que contiene la siguiente información sobre el objeto de S3:  
+ `bucket`: el nombre del bucket de Amazon S3 que contiene el archivo.
+ `file_path` –: la ruta de Amazon S3 del archivo.
+ `region`: la región de AWS en la que se encuentra el bucket. Para ver una lista de los nombres de regiones de AWS y los valores asociados, consulte [Regiones, zonas de disponibilidad y Local Zones](Concepts.RegionsAndAvailabilityZones.md). 

  Actualmente, este valor debe ser la misma región de AWS que la del e instancia de base de datos de exportación. El valor predeterminado es la región de AWS del e instancia de base de datos de exportación. 
Para crear una estructura compuesta `aws_commons._s3_uri_1`, consulte la función [aws\$1commons.create\$1s3\$1uri](#aws_commons.create_s3_uri).

*options*  
Cadena de texto opcional que contiene argumentos para el comando `COPY` de PostgreSQL. Estos argumentos especifican cómo se copian los datos cuando se exportan. Para obtener más detalles, consulte la [documentación de COPY de PostgreSQL](https://www.postgresql.org/docs/current/sql-copy.html).

*kms\$1key text*  
Una cadena de texto opcional que contiene la clave KMS administrada por el cliente del bucket de S3 al que se exportan los datos.

### Parámetros de entrada alternativos
<a name="aws_s3.export_query_to_s3-alternate-parameters"></a>

Como ayuda en las pruebas, puede utilizar un conjunto de parámetros expandido en lugar del parámetro `s3_info`. A continuación, se incluyen otras variaciones de la sintaxis de la función `aws_s3.query_export_to_s3`. 

En lugar de utilizar el parámetro `s3_info` para identificar un archivo de Amazon S3, utilice la combinación de los parámetros `bucket`, `file_path` y `region`.

```
aws_s3.query_export_to_s3(
    query text,    
    bucket text,    
    file_path text,    
    region text,    
    options text,
    kms_key text
)
```

*query*  
Cadena de texto necesaria que contiene una consulta SQL que ejecuta el motor de PostgreSQL. Los resultados de esta consulta se copian en un bucket de S3 identificado en el parámetro `s3_info`.

*bucket*  
Cadena de texto obligatoria que incluye el nombre del bucket de Amazon S3 que contiene el archivo.

*file\$1path*  
Cadena de texto requerida que contiene la ruta de Amazon S3 del archivo.

*region*  
Cadena de texto opcional que contiene la región de AWS en la que se encuentra el bucket. Para ver una lista de los nombres de regiones de AWS y los valores asociados, consulte [Regiones, zonas de disponibilidad y Local Zones](Concepts.RegionsAndAvailabilityZones.md).  
Actualmente, este valor debe ser la misma región de AWS que la del e instancia de base de datos de exportación. El valor predeterminado es la región de AWS del e instancia de base de datos de exportación. 

*options*  
Cadena de texto opcional que contiene argumentos para el comando `COPY` de PostgreSQL. Estos argumentos especifican cómo se copian los datos cuando se exportan. Para obtener más detalles, consulte la [documentación de COPY de PostgreSQL](https://www.postgresql.org/docs/current/sql-copy.html).

*kms\$1key text*  
Una cadena de texto opcional que contiene la clave KMS administrada por el cliente del bucket de S3 al que se exportan los datos.

### Parámetros de salida
<a name="aws_s3.export_query_to_s3-output-parameters"></a>

```
aws_s3.query_export_to_s3(
    OUT rows_uploaded bigint,
    OUT files_uploaded bigint,
    OUT bytes_uploaded bigint
)
```

*rows\$1uploaded*  
Número de filas de tabla que se cargaron correctamente a Amazon S3 para la consulta dada.

*files\$1uploaded*  
El número de archivos cargados en Amazon S3. Los archivos se crean en tamaños de aproximadamente 6 GB. Cada archivo adicional creado tiene `_partXX` anexado al nombre. `XX` representa 2, luego 3, y así sucesivamente según sea necesario.

*bytes\$1uploaded*  
El número total de bytes cargados a Amazon S3.

### Ejemplos
<a name="aws_s3.export_query_to_s3-examples"></a>

```
psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'amzn-s3-demo-bucket', 'sample-filepath');
psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'amzn-s3-demo-bucket', 'sample-filepath','us-west-2');
psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'amzn-s3-demo-bucket', 'sample-filepath','us-west-2','format text');
```

## aws\$1commons.create\$1s3\$1uri
<a name="aws_commons.create_s3_uri"></a>

Crea una estructura `aws_commons._s3_uri_1` para contener la información de archivos de Amazon S3. Debe utilizar los resultados de la función `aws_commons.create_s3_uri` en el parámetro `s3_info` de la función [aws\$1s3.query\$1export\$1to\$1s3](#aws_s3.export_query_to_s3). Para ver un ejemplo de uso de la función `aws_commons.create_s3_uri`, consulte [Especificación de la ruta del archivo de Amazon S3 a exportar](postgresql-s3-export.md#postgresql-s3-export-file).

**Sintaxis**

```
aws_commons.create_s3_uri(
   bucket text,
   file_path text,
   region text
)
```Parámetros de entrada

*Bucket de*  
Cadena de texto obligatoria que contiene el nombre del bucket de Amazon S3 del archivo.

*file\$1path*  
Cadena de texto requerida que contiene la ruta de Amazon S3 del archivo.

*region*  
Cadena de texto obligatoria que contiene la región de AWS en la que se encuentra el archivo. Para ver una lista de los nombres de regiones de AWS y los valores asociados, consulte [Regiones, zonas de disponibilidad y Local Zones](Concepts.RegionsAndAvailabilityZones.md).