Exportación de datos de una de Amazon S3
Puede consultar datos de una RDS for PostgreSQL y exportarlos directamente a archivos almacenados en un bucket de Amazon S3. Para ello, primero debe instalar la extensión de RDS para PostgreSQL aws_s3
. Esta extensión le proporciona las funciones que utiliza para exportar los resultados de las consultas a Amazon S3. A continuación, puede averiguar cómo instalar la extensión y cómo exportar datos de Amazon S3.
Solo se puede exportar desde una instancia de base de datos aprovisionada o de Aurora Serverless v2. Estos pasos no se admiten para Aurora Serverless v1.
nota
No se ha agregado compatibilidad con la exportación entre cuentas a Amazon S3.
Todas las versiones disponibles actualmente de RDS para PostgreSQL admiten la exportación de datos a Amazon Simple Storage Service. Para obtener información detallada sobre la versión, consulte las actualizaciones de Amazon RDS para PostgreSQL en las notas de la versión de Amazon RDS para PostgreSQL.
Si no tienes un bucket configurado para la exportación, consulta los siguientes temas: Guía del usuario de Amazon Simple Storage Service.
De forma predeterminada, los datos exportados desde RDS para PostgreSQL a Amazon S3 utilizan cifrado del servidor con una Clave administrada de AWS. Si utiliza cifrado de buckets, el bucket de Amazon S3 debe cifrarse con una clave AWS Key Management Service (AWS KMS) (SSE-KMS). En la actualidad, no se admiten buckets cifrados con claves administradas de Amazon S3 (SSE-S3).
nota
Puede guardar datos de instantáneas de base de datos en Amazon S3 mediante la AWS Management Console, la AWS CLI o la API de Amazon RDS. Para obtener más información, consulte Exportación de datos de instantáneas de bases de datos a Amazon S3.
Temas
- Instalación de la extensión aws_s3
- Información general de la exportación de datos a Amazon S3
- Especificación de la ruta del archivo de Amazon S3 a exportar
- Configuración del acceso a un bucket de Amazon S3
- Exportación de datos de consulta mediante la función aws_s3.query_export_to_s3
- Solución de errores de acceso a Amazon S3
- Referencia de funciones
Instalación de la extensión aws_s3
Antes de poder usar Amazon Simple Storage Service con su Instancia de base de datos de RDS para PostgreSQL, debe instalar la extensión aws_s3
. Esta extensión proporciona funciones para exportar datos desde una instancia de base de datos de RDS para PostgreSQL a un bucket de Amazon S3. También proporciona funciones para importar datos desde Amazon S3. Para obtener más información, consulte Importación de datos de Amazon S3 en una instancia de base de datos de RDS para PostgreSQL. La extensión aws_s3
depende de algunas de las funciones de ayuda en la extensión de aws_commons
, que se instala automáticamente cuando es necesario.
Para instalar la extensión de aws_s3
Utilice psql (o pgAdmin) para conectarse a la instancia de base de datos de RDS para PostgreSQL como usuario que tiene privilegios de
rds_superuser
. Si mantuvo el nombre predeterminado durante el proceso de configuración, conéctese comopostgres
.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordPara instalar la extensión, ejecute el siguiente comando:
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Para comprobar que la extensión está instalada, puede usar el metacomando psql
\dx
.postgres=>
\dxList of installed extensions Name | Version | Schema | Description -------------+---------+------------+--------------------------------------------- aws_commons | 1.2 | public | Common data types across AWS services aws_s3 | 1.1 | public | AWS S3 extension for importing data from S3 plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (3 rows)
Ya están disponibles las funciones para importar datos de Amazon S3 y para exportar datos a Amazon S3.
Confirme que su versión de RDS for PostgreSQL admite exportaciones a Amazon S3.
Puede comprobar que su versión de RDS para PostgreSQL admite la exportación a Amazon S3 mediante el comando describe-db-engine-versions
. En el siguiente ejemplo se verifica la compatibilidad con la versión 10.14.
aws rds describe-db-engine-versions --region us-east-1 --engine postgres --engine-version 10.14 | grep s3Export
Si en la salida se recoge la cadena de texto "s3Export"
, el motor admite las exportaciones de Amazon S3 . Si no es así, el motor no las admite.
Información general de la exportación de datos a Amazon S3
Para exportar datos almacenados en una RDS for PostgreSQL a un bucket de Amazon S3, utilice el siguiente procedimiento.
Para exportar RDS for PostgreSQL datos a S3
-
Identifique la ruta de archivo de Amazon S3 que se va a utilizar para exportar datos. Para obtener más información sobre este proceso, consulte Especificación de la ruta del archivo de Amazon S3 a exportar.
-
Conceda permiso para acceder al bucket de Amazon S3.
Para exportar datos a un archivo de Amazon S3, conceda permiso a la instancia de base de datos de RDS para PostgreSQL para obtener acceso al bucket de Amazon S3 que la exportación usará para el almacenamiento. Esto incluye los siguientes pasos:
-
Cree una política de IAM que proporcione acceso al bucket de Amazon S3 al que se desea exportar.
-
Cree un rol de IAM.
-
Asocie la política que ha creado al rol que ha creado.
-
Agregue este rol de IAM a la instancia de base de datos.
Para obtener más información sobre este proceso, consulte Configuración del acceso a un bucket de Amazon S3.
-
-
Identifique una consulta de base de datos para obtener los datos. Exporte los datos de consulta llamando a la función
aws_s3.query_export_to_s3
.Después de completar las tareas de preparación anteriores, utilice la función aws_s3.query_export_to_s3 para exportar los resultados de la consulta a Amazon S3. Para obtener más información sobre este proceso, consulte Exportación de datos de consulta mediante la función aws_s3.query_export_to_s3.
Especificación de la ruta del archivo de Amazon S3 a exportar
Especifique la siguiente información para identificar la ubicación de Amazon S3 a la que desea exportar los datos:
-
Nombre de bucket: un bucket es un contenedor para objetos o archivos de Amazon S3.
Para obtener más información sobre cómo almacenar datos con Amazon S3, consulte Crear un bucket y Ver un objeto en la Guía del usuario de Amazon Simple Storage Service.
-
Ruta del archivo: la ruta del archivo identifica dónde se almacena la exportación en el bucket de Amazon S3. La ruta del archivo consta de lo siguiente:
-
Un prefijo de ruta opcional que identifica una ruta de carpeta virtual.
-
Un prefijo de archivo que identifica uno o varios archivos que se van a almacenar. Las exportaciones más grandes se almacenan en varios archivos, cada uno con un tamaño máximo de aproximadamente 6 GB. Los nombres de archivo adicionales tienen el mismo prefijo de archivo, pero con
_part
anexado.XX
representa 2, luego 3, y así sucesivamente.XX
Por ejemplo, una ruta de archivo con una carpeta
exports
y un prefijo de archivoquery-1-export
es/exports/query-1-export
. -
-
Región de AWS (opcional): la región de AWS donde se encuentra el bucket de Amazon S3. Si no especifica un valor de región de AWS, Amazon RDS guarda sus archivos en Amazon S3, en la misma región de AWS que la instancia de base de datos de exportación.
nota
Actualmente, la región de AWS debe ser la misma región que la del e instancia de base de datos de exportación.
Para ver una lista de los nombres de regiones de AWS y los valores asociados, consulte Regiones, zonas de disponibilidad y Local Zones.
Para mantener la información del archivo de Amazon S3 acerca de dónde se va a almacenar la exportación, puede utilizar la función aws_commons.create_s3_uri para crear una estructura compuesta aws_commons._s3_uri_1
de la siguiente manera.
psql=> SELECT aws_commons.create_s3_uri( 'sample-bucket', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
Más adelante, proporcione este valor s3_uri_1
como un parámetro en la llamada a la función aws_s3.query_export_to_s3. Para ver ejemplos, consulte Exportación de datos de consulta mediante la función aws_s3.query_export_to_s3.
Configuración del acceso a un bucket de Amazon S3
Para exportar datos a Amazon S3, conceda permiso a la instancia de base de datos de PostgreSQL para acceder al bucket de Amazon S3 al que irán los archivos.
Para ello, siga el procedimiento que se indica a continuación.
Para proporcionar a la instancia de base de datos de PostgreSQL acceso a Amazon S3 a través de un rol de IAM
-
Cree una política de IAM.
Esta política concede los permisos de bucket y objeto que permiten a la instancia de base de datos de PostgreSQL acceder a Amazon S3.
Como parte de la creación de esta política, realice los siguientes pasos:
-
Incluya las siguientes acciones necesarias en la política para permitir la transferencia de archivos de la instancia de base de datos de PostgreSQL a un bucket de Amazon S3:
-
s3:PutObject
-
s3:AbortMultipartUpload
-
-
Incluye el nombre de recurso de Amazon (ARN) que identifica el bucket de Amazon S3 y los objetos del bucket. El formato del ARN para acceder a Amazon S3 es:
arn:aws:s3:::
your-s3-bucket
/*
Para obtener información adicional sobre cómo crear una política de IAM para Amazon RDS for PostgreSQL, consulte Creación y uso de una política de IAM para el acceso a bases de datos de IAM. Consulte también el Tutorial: Crear y asociar su primera política administrada por el cliente en la Guía del usuario de IAM.
El siguiente comando de la AWS CLI crea una política de IAM denominada
rds-s3-export-policy
con estas opciones. Otorga acceso a un bucket llamadoyour-s3-bucket
.aviso
Le recomendamos que configure la base de datos en una VPC privada que tenga políticas de punto de enlace configuradas para acceder a buckets específicos. Para obtener más información, consulte Uso de políticas de punto de enlace para Amazon S3 en la Guía del usuario de Amazon VPC.
Recomendamos encarecidamente que no cree una política con acceso a todos los recursos. Este acceso puede representar una amenaza para la seguridad de los datos. Si crea una política que da acceso
S3:PutObject
a todos los recursos mediante"Resource":"*"
, un usuario con privilegios de exportación puede exportar datos a todos los buckets de su cuenta. Además, el usuario puede exportar datos a cualquier bucket en el que se pueda escribir públicamente dentro de su región de AWS.Después de crear la política, anote el nombre de recurso de Amazon (ARN) de la política. Cuando asocia la política a un rol de IAM, necesita el ARN para realizar un paso posterior.
aws iam create-policy --policy-name rds-s3-export-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3export", "Action": [ "s3:PutObject", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
your-s3-bucket
/*" ] } ] }' -
-
Cree un rol de IAM.
Realiza este paso para que Amazon RDS pueda asumir este rol de IAM en su nombre para obtener acceso a los buckets de Amazon S3. Para obtener más información, consulte Creación de un rol para delegar permisos a un usuario de IAM en la Guía del usuario de IAM.
Le recomendamos que utilice las claves de contexto de condición globales de
aws:SourceArn
yaws:SourceAccount
en las políticas basadas en recursos para limitar los permisos del servicio a un recurso específico. Esta es la forma más eficaz de protegerse contra el problema del suplente confuso.Si utiliza claves de contexto de condición globales y el valor
aws:SourceArn
contiene el ID de cuenta, el valoraws:SourceAccount
y la cuenta en el valoraws:SourceArn
deben utilizar el mismo ID de cuenta cuando se utiliza en la misma instrucción de política.Use
aws:SourceArn
si quiere acceso entre servicios para un único recurso.-
Use
aws:SourceAccount
si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.
En la política, asegúrese de utilizar la clave de contexto de condición global
aws:SourceArn
con el ARN completo del recurso. En el siguiente ejemplo se muestra cómo se usa el comando de la AWS CLI para crear un rol denominadords-s3-export-role
.ejemplo
Para Linux, macOS o Unix:
aws iam create-role \ --role-name rds-s3-export-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname
" } } } ] }'En Windows:
aws iam create-role ^ --role-name rds-s3-export-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname
" } } } ] }' -
Asocie la política de IAM que creó al rol de IAM creado.
El siguiente comando de la AWS CLI asocia la política creada anteriormente al rol denominado
rds-s3-export-role.
. Sustituya
por el ARN de la política que ha anotado en un paso anterior.your-policy-arn
aws iam attach-role-policy --policy-arn
your-policy-arn
--role-name rds-s3-export-role -
Añada el rol de IAM a la instancia de base de datos. Para ello, utilice la AWS Management Console o la AWS CLI, tal y como se describe a continuación.
Para añadir un rol de IAM para una instancia de base de datos de PostgreSQL utilizando la consola
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
Seleccione el nombre de instancia de base de datos de PostgreSQL para mostrar sus detalles.
-
En la pestaña Connectivity & security (Conectividad y seguridad), en la sección Manage IAM roles (Administrar roles de IAM), elija el rol que desee añadir en Add IAM roles to this instance (Añadir roles de IAM a esta instancia).
-
En Feature (Característica), elija s3Export.
-
Seleccione Add role (Añadir rol).
Para añadir un rol de IAM para una instancia de base de datos de PostgreSQL utilizando la CLI
-
Utilice el siguiente comando para añadir el rol a la instancia de base de datos de PostgreSQL denominada
my-db-instance
. Sustituya
por el ARN del rol que ha anotado en el paso anterior. Utiliceyour-role-arn
s3Export
para el valor de la opción--feature-name
.ejemplo
Para Linux, macOS o Unix:
aws rds add-role-to-db-instance \ --db-instance-identifier
my-db-instance
\ --feature-name s3Export \ --role-arnyour-role-arn
\ --regionyour-region
En Windows:
aws rds add-role-to-db-instance ^ --db-instance-identifier
my-db-instance
^ --feature-name s3Export ^ --role-arnyour-role-arn
^ --regionyour-region
Exportación de datos de consulta mediante la función aws_s3.query_export_to_s3
Exporte sus datos de PostgreSQL a Amazon S3 llamando a la función aws_s3.query_export_to_s3.
Temas
Requisitos previos
Antes de utilizar la función aws_s3.query_export_to_s3
, asegúrese de completar los siguientes requisitos previos:
-
Instale las extensiones de PostgreSQL necesarias como se describe en Información general de la exportación de datos a Amazon S3.
-
Determine a dónde exportar los datos en Amazon S3 como se describe en Especificación de la ruta del archivo de Amazon S3 a exportar.
-
Tenga cuidado de que la del clúster de base de datos tenga acceso de exportación a Amazon S3 según se describe en Configuración del acceso a un bucket de Amazon S3.
Los ejemplos siguientes utilizan una tabla de base de datos llamada sample_table
. Estos ejemplos exportan los datos a un bucket llamado sample-bucket
. La tabla y los datos de ejemplo se crean con las siguientes instrucciones SQL en 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');
Llamar a aws_s3.query_export_to_s3
A continuación, se muestran las formas básicas de llamar a la función aws_s3.query_export_to_s3.
En estos ejemplos se utiliza la variable s3_uri_1
para identificar una estructura que contiene la información que identifica el archivo de Amazon S3. Utilice la función aws_commons.create_s3_uri para crear la estructura.
psql=> SELECT aws_commons.create_s3_uri( 'sample-bucket', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
Aunque los parámetros varían para las dos llamadas a funciones siguientes aws_s3.query_export_to_s3
, los resultados son los mismos para estos ejemplos. Todas las filas de la tabla sample_table
se exportan a un bucket llamado sample-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');
Los parámetros se describen de la siguiente manera:
-
'SELECT * FROM sample_table'
: el primer parámetro es una cadena de texto requerida que contiene una consulta SQL. El motor de PostgreSQL ejecuta esta consulta. Los resultados de la consulta se copian en el bucket de S3 identificado en otros parámetros. -
:'s3_uri_1'
: este parámetro es una estructura que identifica el archivo de Amazon S3. En este ejemplo se utiliza una variable para identificar la estructura creada anteriormente. En su lugar, puede crear la estructura incluyendo la llamada a la funciónaws_commons.create_s3_uri
insertada dentro de la llamada a la funciónaws_s3.query_export_to_s3
de la siguiente manera.SELECT * from aws_s3.query_export_to_s3('select * from sample_table', aws_commons.create_s3_uri('sample-bucket', 'sample-filepath', 'us-west-2') );
-
options :='format text'
: el parámetrooptions
es una cadena de texto opcional que contiene argumentosCOPY
de PostgreSQL. El proceso de copia utiliza los argumentos y el formato del comando COPY de PostgreSQL.
Si el archivo especificado no existe en el bucket de Amazon S3, se crea. Si el archivo ya existe, se sobrescribe. La sintaxis para acceder a los datos exportados en Amazon S3 es la siguiente.
s3-
region
://bucket-name
[/path-prefix
]/file-prefix
Las exportaciones más grandes se almacenan en varios archivos, cada uno con un tamaño máximo de aproximadamente 6 GB. Los nombres de archivo adicionales tienen el mismo prefijo de archivo, pero con _part
anexado. XX
representa 2, luego 3, y así sucesivamente. Por ejemplo, supongamos que especifica la ruta donde almacena los archivos de datos como sigue.XX
s3-us-west-2://my-bucket/my-prefix
Si la exportación tiene que crear tres archivos de datos, el bucket de Amazon S3 contiene los siguientes archivos de datos.
s3-us-west-2://my-bucket/my-prefix s3-us-west-2://my-bucket/my-prefix_part2 s3-us-west-2://my-bucket/my-prefix_part3
Para obtener la referencia completa de esta función y formas adicionales de llamarla, consulte aws_s3.query_export_to_s3. Para obtener más información sobre el acceso a archivos en Amazon S3, consulte Ver un objeto en la Guía del usuario de Amazon Simple Storage Service.
Exportación a un archivo CSV que utiliza un delimitador personalizado
En el ejemplo siguiente se muestra cómo llamar a la función aws_s3.query_export_to_s3 para exportar datos a un archivo que utiliza un delimitador personalizado. En el ejemplo se utilizan argumentos del comando COPY de PostgreSQL
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format csv, delimiter $$:$$');
Exportación a un archivo binario con codificación
En el ejemplo siguiente se muestra cómo llamar a la función aws_s3.query_export_to_s3 para exportar datos a un archivo binario que tiene codificación Windows-1253.
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format binary, encoding WIN1253');
Solución de errores de acceso a Amazon S3
Si se producen problemas de conexión al intentar exportar los datos a Amazon S3, confirme primero que las reglas de acceso saliente del grupo de seguridad de la VPC asociado a la instancia de base de datos permitan la conectividad de red. En concreto, el grupo de seguridad debe tener una regla que permita que la instancia de base de datos envíe tráfico TCP al puerto 443 y a cualquier dirección IPv4 (0.0.0.0/0). Para obtener más información, consulte Proporcionar acceso a la instancia de base de datos en la VPC mediante la creación de un grupo de seguridad.
También consulte las recomendaciones siguientes:
-
Solución de problemas de identidades y accesos en Amazon RDS
-
Solución de problemas de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service
-
Solución de problemas de Amazon S3 e IAM en la Guía del usuario de IAM
Referencia de funciones
aws_s3.query_export_to_s3
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_s3.query_export_to_s3.
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
- consulta
-
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_info
-
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.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_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.
Parámetros de entrada alternativos
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, )
- consulta
-
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_path
-
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.
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.
Parámetros de salida
aws_s3.query_export_to_s3( OUT rows_uploaded bigint, OUT files_uploaded bigint, OUT bytes_uploaded bigint )
- rows_uploaded
-
Número de filas de tabla que se cargaron correctamente a Amazon S3 para la consulta dada.
- files_uploaded
-
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
_part
anexado al nombre.XX
representa 2, luego 3, y así sucesivamente según sea necesario.XX
- bytes_uploaded
-
El número total de bytes cargados a Amazon S3.
Ejemplos
psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'sample-bucket', 'sample-filepath'); psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'sample-bucket', 'sample-filepath','us-west-2'); psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'sample-bucket', 'sample-filepath','us-west-2','format text');
aws_commons.create_s3_uri
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_s3.query_export_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.
Sintaxis
aws_commons.create_s3_uri( bucket text, file_path text, region text )
Parámetros de entrada
- bucket
-
Cadena de texto obligatoria que contiene el nombre del bucket de Amazon S3 del archivo.
- file_path
-
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.