Importación de datos de Amazon S3 en un clúster de base de datos Aurora PostgreSQL - Amazon Aurora

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.

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
  1. 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 como postgres.

    psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
  2. Para instalar la extensión, ejecute el siguiente comando:

    postgres=> CREATE EXTENSION aws_s3 CASCADE; NOTICE: installing required extension "aws_commons" CREATE EXTENSION
  3. Para comprobar que la extensión está instalada, puede usar el metacomando psql \dx.

    postgres=> \dx List 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.

  1. 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 tabla t1 que se puede utilizar en pasos posteriores.

    postgres=> CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));
  2. 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.

    
                        Imagen de un objeto de archivo en un bucket de Amazon S3.
  3. 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 ./
  4. 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.

  5. 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 \gset

    En el paso siguiente, pase este objeto (aws_commons._s3_uri_1) a la función aws_s3.table_import_from_s3 para importar los datos a la tabla.

  6. 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.

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:
  1. 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 llamado your-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/*" ] } ] }'
  2. 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 y aws: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 valor aws:SourceAccount y la cuenta en el valor aws: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 denominado rds-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" } } } ] }'
  3. 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 your-policy-arn por el ARN de la política que ha anotado en un paso anterior.

    ejemplo

    Para Linux, macOS, o Unix:

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-import-role

    En Windows:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-import-role
  4. 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
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. Seleccione el nombre de clúster de base de datos de PostgreSQL para mostrar sus detalles.

  3. 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 .

  4. En Feature Feature (Característica), elija s3Import.

  5. 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 your-role-arn por el ARN del rol que ha anotado en el paso anterior. Utilice 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-arn your-role-arn \ --region your-region

    En Windows:

    aws rds add-role-to-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --feature-name s3Import ^ --role-arn your-role-arn ^ --region your-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:

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 PostgreSQL para 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 estructura s3_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.

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
  1. 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);
  2. 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ámetros bucket, file_path y region. 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ámetros access_key, session_key y session_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.