Importación de datos de Amazon S3 en un clúster de base de datos Aurora PostgreSQL
Puede importar los datos que se hayan almacenado mediante Amazon Simple Storage Service a una tabla en una instancia de clúster de base de datos Aurora PostgreSQL. Para ello, primero debe instalar la extensión de Aurora PostgreSQL aws_s3
. Esta extensión proporciona las funciones que se utilizan para importar datos de un bucket de Amazon S3. Un bucket es un contenedor de objetos o archivos de Amazon S3. Los datos pueden estar en un archivo de valores separados por comas (CSV), un archivo de texto o un archivo comprimido (gzip). A continuación, aprenderá a instalar la extensión y a importar datos de Amazon S3 en una tabla.
Para hacer la importación de Simple Storage Service (Amazon S3) hacia , la base de datos debe ejecutar la versión de PostgreSQL 10.7 o superior. Aurora PostgreSQL.
Si no tiene datos almacenados en Amazon S3, primero debe crear un bucket y almacenar los datos. Para obtener más información, consulte los siguientes temas en la guía del usuario de Amazon Simple Storage Service.
Se admite la importación entre cuentas desde Amazon S3. Para obtener más información, consulte Concesión de permisos entre cuentas en la Guía del usuario de Amazon Simple Storage Service.
Puede utilizar la clave administrada por el cliente para el cifrado al importar datos desde S3. Para obtener más información, consulte Claves de KMS almacenadas en AWS KMS en la Guía del usuario de Amazon Simple Storage Service.
nota
La importación de datos desde Amazon S3 no se admite para Aurora Serverless v1. Se admite para Aurora Serverless v2.
Temas
Instalación de la extensión aws_s3
Antes de poder usar Amazon S3 con su clúster de base de datos de Aurora PostgreSQL, , debe instalar la extensión aws_s3
. Esta extensión proporciona funciones para importar datos desde Amazon S3. También proporciona funciones para exportar datos desde una instancia de un clúster de base de datos de Aurora PostgreSQL a un bucket de Amazon S3. Para obtener más información, consulte Exportación de datos de una Aurora PostgreSQL de base de datos de clústerde Amazon S3. 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 escritor del clúster de base de datos de Aurora 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.
Información general sobre la importación de datos desde los datos de Amazon S3
Para importar datos de S3 a Aurora PostgreSQL, lleve a cabo el siguiente procedimiento:
Primero, reúna los detalles que necesita proporcionar a la función. Entre ellos se incluye el nombre de la tabla en la instancia del clúster de base de datos de Aurora PostgreSQL, y el nombre del bucket, la ruta del archivo, el tipo de archivo y la Región de AWS donde se almacenan los datos de Amazon S3. Para obtener más información, consulte el tema para ver un objeto en la guía del usuario de Amazon Simple Storage Service.
nota
Actualmente no se admite la importación de datos multiparte desde Amazon S3.
Obtenga el nombre de la tabla en la que la función
aws_s3.table_import_from_s3
va a importar los datos. A modo de ejemplo, el siguiente comando crea una tablat1
que se puede utilizar en pasos posteriores.postgres=>
CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));Obtenga información sobre el bucket de Amazon S3 y los datos que se van a importar. Para ello, abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
y elija Buckets. Busque el bucket que contiene sus datos en la lista. Elija el bucket, abra la página de información general de objetos y, a continuación, Properties (Propiedades). Anote el nombre del bucket, la ruta, la Región de AWS y el tipo de archivo. Necesitará el nombre de recurso de Amazon (ARN) más adelante para configurar el acceso a Amazon S3 a través de un rol de IAM. Para obtener más información, consulte Configuración del acceso a un bucket de Amazon S3. En la siguiente imagen se muestra un ejemplo.
Para verificar la ruta a los datos en el bucket de Amazon S3, utilice el comando de AWS CLI
aws s3 cp
. Si la información es correcta, este comando descarga una copia del archivo de Amazon S3.aws s3 cp s3://
sample_s3_bucket
/sample_file_path
./-
Configure los permisos de clúster de base de datos de Aurora PostgreSQL para permitir el acceso al archivo en el bucket de Amazon S3. Para ello, utilice un rol de AWS Identity and Access Management (IAM) o las credenciales de seguridad. Para obtener más información, consulte Configuración del acceso a un bucket de Amazon S3.
Proporcione la ruta y otros detalles del objeto de Amazon S3 recopilados (consulte el paso 2) para la función
create_s3_uri
para construir un objeto URI de Amazon S3. Para obtener más información sobre esta función, consulte aws_commons.create_s3_uri. A continuación se muestra un ejemplo de cómo construir este objeto durante una sesión de psql.postgres=>
SELECT aws_commons.create_s3_uri( 'docs-lab-store-for-rpg', 'versions_and_jdks_listing.csv', 'us-west-1' ) AS s3_uri \gsetEn el paso siguiente, pase este objeto (
aws_commons._s3_uri_1
) a la funciónaws_s3.table_import_from_s3
para importar los datos a la tabla.-
Invoque la función
aws_s3.table_import_from_s3
para importar los datos de Amazon S3 a la tabla. Para obtener información de referencia, consulte aws_s3.table_import_from_s3. Para ver ejemplos, consulte Importación de datos de Amazon S3 a un clúster de base de datos Aurora PostgreSQL.
Configuración del acceso a un bucket de Amazon S3
Para importar datos de un archivo de Amazon S3, conceda permiso del clúster de base de datos de Aurora PostgreSQL para obtener acceso al bucket de Amazon S3 en el que se encuentra el archivo. Puede proporcionar acceso a un bucket de Amazon S3 de una de las dos formas siguientes, tal y como se describe en los siguientes temas.
Temas
Uso de un rol de IAM para obtener acceso a un bucket de Amazon S3
Antes de cargar los datos de un archivo de Amazon S3, conceda permiso al clúster de base de datos de Aurora PostgreSQL para obtener acceso al bucket de Amazon S3 en el que se encuentra el archivo. De esta forma, no tiene que facilitar ni administrar información adicional de credenciales en la llamada a la función aws_s3.table_import_from_s3.
Para ello, cree una política de IAM que proporcione acceso al bucket de Amazon S3. Cree un rol de IAM y conecte la política a dicho rol. A continuación, asigne el rol de IAM al clúster de base de datos.
nota
No se puede asociar un rol de IAM a un clúster de base de datos de Aurora Serverless v1, por lo que no se aplican los siguientes pasos.
Para dar a un clúster de base de datos de Aurora PostgreSQL acceso a Simple Storage Service (Amazon S3) a través de un rol de IAM, lleve a cabo el siguiente procedimiento:
-
Cree una política de IAM.
Esta política concede los permisos de bucket y objeto que permiten que el clúster de base de datos de Aurora PostgreSQL tenga acceso a Amazon S3.
Incluya las siguientes acciones requeridas en la política para permitir la transferencia de archivos de un bucket de Amazon S3 a Aurora PostgreSQL:
-
s3:GetObject
-
s3:ListBucket
Incluya los siguientes recursos en la política para identificar el bucket de Amazon S3 y los objetos incluidos en este. A continuación se muestra el formato de nombre de recurso de Amazon (ARN) para obtener acceso a Amazon S3.
-
arn:aws:s3:::
your-s3-bucket
-
arn:aws:s3:::
your-s3-bucket
/*
Para obtener información adicional sobre cómo crear una política de IAM para Aurora 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-import-policy
con estas opciones. Otorga acceso a un bucket llamadoyour-s3-bucket
.nota
Anote el Nombre de recurso de Amazon (ARN) de la política que devolvió este comando. Al asociar la política a un rol de IAM, se necesita el ARN para realizar un paso posterior.
ejemplo
Para Linux, macOS, o Unix:
aws iam create-policy \ --policy-name rds-s3-import-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
your-s3-bucket
", "arn:aws:s3:::your-s3-bucket
/*" ] } ] }'En Windows:
aws iam create-policy ^ --policy-name rds-s3-import-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
your-s3-bucket
", "arn:aws:s3:::your-s3-bucket
/*" ] } ] }' -
-
Crear un rol de IAM.
Haga esto para que Aurora PostgreSQL pueda asumir este rol de IAM para obtener acceso a los buckets de Amazon S3. Para obtener más información, vea Crear un rol para delegar permisos a un usuario de IAM en 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-import-role
.ejemplo
Para Linux, macOS, o Unix:
aws iam create-role \ --role-name rds-s3-import-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:cluster:clustername
" } } } ] }'En Windows:
aws iam create-role ^ --role-name rds-s3-import-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:cluster:clustername
" } } } ] }' -
Asocie la política de IAM que creó al rol de IAM creado.
El siguiente comando AWS CLI adjunta la política creada en el paso anterior al rol denominado
rds-s3-import-role
. Sustituya
por el ARN de la política que ha anotado en un paso anterior.your-policy-arn
ejemplo
Para Linux, macOS, o Unix:
aws iam attach-role-policy \ --policy-arn
your-policy-arn
\ --role-name rds-s3-import-roleEn Windows:
aws iam attach-role-policy ^ --policy-arn
your-policy-arn
^ --role-name rds-s3-import-role -
Añada el rol de IAM al clúster 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 un clúster 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 clúster 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 agregar en la instancia Add IAM roles to this cluster .
-
En Feature Feature (Característica), elija s3Import.
-
Seleccione Add role (Añadir rol).
Para añadir un rol de IAM para un clúster de base de datos de PostgreSQL mediante la CLI, realice el siguiente procedimiento:
-
Utilice el siguiente comando para añadir el rol al clúster de base de datos de PostgreSQL denominado
my-db-cluster
. Sustituya
por el ARN del rol que ha anotado en el paso anterior. Utiliceyour-role-arn
s3Import
para el valor de la opción--feature-name
.ejemplo
Para Linux, macOS, o Unix:
aws rds add-role-to-db-cluster \ --db-cluster-identifier
my-db-cluster
\ --feature-name s3Import \ --role-arnyour-role-arn
\ --regionyour-region
En Windows:
aws rds add-role-to-db-cluster ^ --db-cluster-identifier
my-db-cluster
^ --feature-name s3Import ^ --role-arnyour-role-arn
^ --regionyour-region
Para agregar un rol de IAM para un clúster de base de datos de PostgreSQL mediante la API de Amazon RDS, llame a la operación AddRoleToDBCluster.
Uso de credenciales de seguridad para obtener acceso a un bucket de Amazon S3
Si lo prefiere, puede utilizar credenciales de seguridad para proporcionar acceso a un bucket de Amazon S3, en lugar de proporcionar acceso con un rol de IAM. Para ello, especifique el parámetro credentials
en la llamada a la función aws_s3.table_import_from_s3.
El parámetro credentials
es una estructura de tipo aws_commons._aws_credentials_1
, que contiene credenciales de AWS. Utilice la función aws_commons.create_aws_credentials para establecer la clave de acceso y la clave secreta en una estructura aws_commons._aws_credentials_1
, como se muestra a continuación.
postgres=>
SELECT aws_commons.create_aws_credentials( 'sample_access_key
', 'sample_secret_key
', '') AS creds \gset
Tras crear la estructura aws_commons._aws_credentials_1
, utilice la función aws_s3.table_import_from_s3 con el parámetro credentials
para importar los datos, tal y como se muestra a continuación.
postgres=>
SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', :'creds' );
O bien puede incluir la llamada a la función aws_commons.create_aws_credentials insertada dentro de la llamada a la función aws_s3.table_import_from_s3
.
postgres=>
SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', aws_commons.create_aws_credentials('sample_access_key
', 'sample_secret_key
', '') );
Solución de errores de acceso a Amazon S3
Si tiene problemas de conexión al intentar importar los datos de Amazon S3, consulte las recomendaciones que se indican a continuación:
-
Solución de problemas de identidades y accesos en Amazon Aurora
-
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
Importación de datos de Amazon S3 a un clúster de base de datos Aurora PostgreSQL
Para importar datos desde su bucket de Amazon S3, utilice la función table_import_from_s3
de la extensión aws_s3. Para obtener información de referencia, consulte aws_s3.table_import_from_s3.
nota
En los siguientes ejemplos se utiliza el método de rol de IAM para permitir el acceso al bucket de Amazon S3. Por tanto, no hay parámetros de credenciales en las llamadas a la función aws_s3.table_import_from_s3
.
A continuación se muestra un ejemplo típico.
postgres=>
SELECT aws_s3.table_import_from_s3( 't1', '', '(format csv)', :'s3_uri' );
Los parámetros son los siguientes:
-
t1
: nombre de la tabla en el clúster de base de datos de PostgreSQL en la que desea copiar los datos. -
''
: lista opcional de columnas en la tabla de la base de datos. Puede utilizar este parámetro para indicar qué columnas de los datos de S3 van en las columnas de la tabla. Si no se especifica ninguna columna, se copian en la tabla todas las columnas. Para obtener un ejemplo de uso de una lista de columnas, consulte Importación de un archivo de Amazon S3 que utiliza un delimitador personalizado. -
(format csv)
: argumentos de COPY de PostgreSQL. El proceso de copia utiliza los argumentos y el formato del comando COPY de PostgreSQLpara importar los datos. Las opciones de formato incluyen un valor separado por comas (CSV), como se muestra en este ejemplo, texto y binario. El valor predeterminado es texto. -
s3_uri
: una estructura que contiene la información que identifica el archivo de Amazon S3. Para ver un ejemplo de cómo utilizar la función aws_commons.create_s3_uri para crear una estructuras3_uri
, consulte Información general sobre la importación de datos desde los datos de Amazon S3.
Para obtener más información acerca de esta función, consulte aws_s3.table_import_from_s3.
La función aws_s3.table_import_from_s3
devuelve texto. Para especificar otros tipos de archivos que se van a importar desde un bucket de Amazon S3, consulte uno de los siguientes ejemplos.
nota
Si importa 0 bytes, se producirá un error.
Temas
Importación de un archivo de Amazon S3 que utiliza un delimitador personalizado
En el siguiente ejemplo se muestra cómo importar un archivo que utiliza un delimitador personalizado. También se muestra cómo controlar dónde colocar los datos en la tabla de la base de datos usando el parámetro column_list
de la función aws_s3.table_import_from_s3.
En este ejemplo, supongamos que la siguiente información está organizada en columnas delimitadas por barras verticales en el archivo de Amazon S3.
1|foo1|bar1|elephant1
2|foo2|bar2|elephant2
3|foo3|bar3|elephant3
4|foo4|bar4|elephant4
...
Para importar un archivo que utiliza un delimitador personalizado
-
Cree una tabla en la base de datos para los datos importados.
postgres=>
CREATE TABLE test (a text, b text, c text, d text, e text); -
Utilice el siguiente formulario de la función aws_s3.table_import_from_s3 para importar datos desde el archivo de Amazon S3.
Puede incluir la llamada a la función aws_commons.create_s3_uri insertada dentro de la llamada a la función
aws_s3.table_import_from_s3
para especificar el archivo.postgres=>
SELECT aws_s3.table_import_from_s3( 'test', 'a,b,d,e', 'DELIMITER ''|''', aws_commons.create_s3_uri('sampleBucket', 'pipeDelimitedSampleFile', 'us-east-2') );
Los datos se encuentran ahora en la tabla en las siguientes columnas.
postgres=>
SELECT * FROM test;a | b | c | d | e ---+------+---+---+------+----------- 1 | foo1 | | bar1 | elephant1 2 | foo2 | | bar2 | elephant2 3 | foo3 | | bar3 | elephant3 4 | foo4 | | bar4 | elephant4
Importación de un archivo comprimido (gzip) de Amazon S3
El siguiente ejemplo muestra cómo importar un archivo comprimido con gzip desde Amazon S3. El archivo que se importa debe tener los siguientes metadatos de Simple Storage Service (Amazon S3):
-
Clave:
Content-Encoding
-
Valor:
gzip
Si carga el archivo con la AWS Management Console, el sistema suele aplicar los metadatos. Para obtener información sobre cómo cargar archivos en Simple Storage Service (Amazon S3) con la AWS Management Console, la AWS CLI o la API, consulte Carga de objetos en la Guía del usuario de Amazon Simple Storage Service.
Para obtener más información acerca de los metadatos de Simple Storage Service (Amazon S3) y detalles acerca de los metadatos proporcionados por el sistema, consulte Edición de metadatos de objeto en la consola de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
Importe el archivo gzip en su clúster de base de datos Aurora PostgreSQL como se muestra a continuación.
postgres=>
CREATE TABLE test_gzip(id int, a text, b text, c text, d text);
postgres=>
SELECT aws_s3.table_import_from_s3(
'test_gzip', '', '(format csv)',
'myS3Bucket', 'test-data.gz', 'us-east-2'
);
Importación de un archivo de Amazon S3 codificado
El siguiente ejemplo muestra cómo importar un archivo desde Amazon S3 que tenga codificación Windows-1252.
postgres=>
SELECT aws_s3.table_import_from_s3(
'test_table', '', 'encoding ''WIN1252''',
aws_commons.create_s3_uri('sampleBucket', 'SampleFile', 'us-east-2')
);
Referencia de funciones
aws_s3.table_import_from_s3
Importa datos de Amazon S3 en una tabla Aurora PostgreSQL. La extensión aws_s3
proporciona la función aws_s3.table_import_from_s3
. El valor de devolución es texto.
Sintaxis
Los parámetros obligatorios son table_name
, column_list
y options
. Estos identifican la tabla de la base de datos y especifican cómo se copian los datos en la tabla.
Asimismo, puede utilizar los siguientes parámetros:
-
El parámetro
s3_info
especifica el archivo Amazon S3 que se va a importar. Cuando utilice este parámetro, se proporciona acceso a Amazon S3 mediante un rol de IAM para el clúster de base de datos de PostgreSQL.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1 )
-
El parámetro
credentials
especifica las credenciales para acceder a Amazon S3. Cuando utilice este parámetro, no utilice un rol de IAM.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1, credentials aws_commons._aws_credentials_1 )
Parámetros
- table_name
-
Cadena de texto obligatoria que contiene el nombre de la tabla de la base de datos de PostgreSQL a la que importar los datos.
- column_list
-
Cadena de texto obligatoria que contiene una lista opcional de las columnas de la tabla de la base de datos de PostgreSQL en la que se copiarán los datos. Si la cadena está vacía, se utilizan todas las columnas de la tabla. Para ver un ejemplo, consulte Importación de un archivo de Amazon S3 que utiliza un delimitador personalizado.
- options
-
Cadena de texto obligatoria que contiene argumentos para el comando
COPY
de PostgreSQL. Estos argumentos especifican cómo se copian los datos en la tabla PostgreSQL. Para obtener más detalles, consulte la documentación de COPY de PostgreSQL. - 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 archivo. Para ver una lista de los nombres de regiones de AWS y los valores asociados, consulte Regiones y zonas de disponibilidad.
-
- credenciales
-
Tipo compuesto
aws_commons._aws_credentials_1
que contiene las siguientes credenciales para usar en la operación de importación:-
Clave de acceso
-
Clave secreta
-
Token de sesión
Para obtener información sobre la creación de una estructura compuesta
aws_commons._aws_credentials_1
, consulte aws_commons.create_aws_credentials. -
Sintaxis alternativa
Como ayuda en las pruebas, puede utilizar un conjunto de parámetros expandido en lugar de los parámetros s3_info
y credentials
. A continuación, se incluyen variaciones de sintaxis adicionales para la función aws_s3.table_import_from_s3
:
-
En lugar de utilizar el parámetro
s3_info
para identificar un archivo de Amazon S3, utilice la combinación de los parámetrosbucket
,file_path
yregion
. Con esta forma de la función, se facilita acceso a Amazon S3 mediante un rol de IAM en la instancia de base de datos de PostgreSQL.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text )
-
En lugar de utilizar el parámetro
credentials
para especificar el acceso a Amazon S3, utilice la combinación de parámetrosaccess_key
,session_key
ysession_token
.aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text, access_key text, secret_key text, session_token text )
Parámetros alternativos
- bucket
-
Cadena de texto que incluye el nombre del bucket de Amazon S3 que contiene el archivo.
- file_path
-
Cadena de texto que contiene la ruta de Amazon S3 del archivo.
- region
-
Una cadena de texto que identifique la ubicación de Región de AWS del archivo. Para ver una lista de los nombres de Región de AWS y los valores asociados, consulte Regiones y zonas de disponibilidad.
- access_key
-
Cadena de texto que contiene la clave de acceso que se va a utilizar para la operación de importación. El valor predeterminado es NULL.
- secret_key
-
Cadena de texto que contiene la clave secreta que se va a usar para la operación de importación. El valor predeterminado es NULL.
- session_token
-
(Opcional) Cadena de texto que contiene la clave de la sesión que se va a utilizar para la operación de importación. El valor predeterminado es NULL.
aws_commons.create_s3_uri
Crea una estructura aws_commons._s3_uri_1
para contener la información de archivos de Amazon S3. Utilice los resultados de la función aws_commons.create_s3_uri
en el parámetro s3_info
de la función aws_s3.table_import_from_s3.
Sintaxis
aws_commons.create_s3_uri(
bucket text,
file_path text,
region text
)
Parámetros
- 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 Región de AWS y los valores asociados, consulte Regiones y zonas de disponibilidad.
aws_commons.create_aws_credentials
Establece una clave de acceso y una clave secreta en una estructura aws_commons._aws_credentials_1
. Utilice los resultados de la función aws_commons.create_aws_credentials
en el parámetro credentials
de la función aws_s3.table_import_from_s3.
Sintaxis
aws_commons.create_aws_credentials(
access_key text,
secret_key text,
session_token text
)
Parámetros
- access_key
-
Cadena de texto obligatoria que contiene la clave de acceso que se va a utilizar para importar un archivo de Amazon S3. El valor predeterminado es NULL.
- secret_key
-
Cadena de texto obligatoria que contiene la clave secreta que se va a utilizar para importar un archivo de Amazon S3. El valor predeterminado es NULL.
- session_token
-
Cadena de texto opcional que contiene el token de la sesión que se va a utilizar para importar un archivo de Amazon S3. El valor predeterminado es NULL. Si facilita un
session_token
opcional, puede usar credenciales temporales.