Importar dados do Amazon S3 para um cluster de banco de dados do Aurora PostgreSQL - Amazon Aurora

Importar dados do Amazon S3 para um cluster de banco de dados do Aurora PostgreSQL

Você pode importar dados que foram armazenados usando o Amazon Simple Storage Service em uma tabela em uma instância de cluster de banco de dados do Aurora PostgreSQL. Para fazer isso, primeiro instale a extensão aws_s3 do Aurora PostgreSQL . Essa extensão fornece as funções usadas para importar dados de um bucket do Amazon S3. Um bucket é um contêiner do Amazon S3 para objetos e arquivos. Os dados podem estar em um arquivo de valores separados por vírgula (CSV), em um arquivo de texto ou em um arquivo compactado (gzip). Veja a seguir como instalar a extensão e importar dados do Amazon S3 para uma tabela.

Seu banco de dados deve estar executando o PostgreSQL versão 10.7 ou superior para importar do Amazon S3 para o . Aurora PostgreSQL.

Se você não tiver dados armazenados no Amazon S3, crie um bucket e armazene os dados. Para ter mais informações, consulte os tópicos a seguir no Guia do usuário do Amazon Simple Storage Service.

A importação entre contas do Amazon S3 é compatível. Para ter mais informações, consulte Conceder permissões entre contas no Guia do usuário do Amazon Simple Storage Service.

Você pode usar a chave gerenciada pelo cliente para criptografia ao importar dados do S3. Para ter mais informações, consulte Chaves do KMS armazenadas no AWS KMS no Guia do usuário do Amazon Simple Storage Service.

nota

A importação de dados do Amazon S3 não é compatível com o Aurora Serverless v1. É compatível com o Aurora Serverless v2.

Instalar a extensão aws_s3

Antes de usar o Amazon S3 com o seu cluster de banco de dados do Aurora PostgreSQL, você precisa instalar a extensão aws_s3. Essa extensão fornece as funções para importar dados do Amazon S3. Ela também fornece funções para exportar dados de uma instância de um cluster de banco de dados do Aurora PostgreSQL para um bucket do Amazon S3. Para ter mais informações, consulte Exportar dados de um cluster de banco de dados do Aurora PostgreSQL para o Amazon S3. A extensão aws_s3 depende de algumas das funções auxiliares da extensão aws_commons, que é instalada automaticamente quando necessária.

Como instalar a extensão aws_s3
  1. Use psql (ou pgAdmin) para se conectar à instância gravadora de seu cluster de banco de dados do Aurora PostgreSQL como um usuário que tem privilégios rds_superuser. Se você manteve o nome padrão durante o processo de configuração, se conectará como postgres.

    psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
  2. Para instalar a extensão, execute o comando a seguir.

    postgres=> CREATE EXTENSION aws_s3 CASCADE; NOTICE: installing required extension "aws_commons" CREATE EXTENSION
  3. Para verificar se a extensão está instalada, você pode usar o 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)

As funções para importar dados do Amazon S3 e exportar dados para o Amazon S3 agora estão disponíveis para uso.

Visão geral da importação de dados do Amazon S3

Para importar dados do S3 para o Aurora PostgreSQL

Primeiro, reúna os detalhes que você precisa fornecer à função. Isso inclui o nome da tabela na sua instância do cluster de banco de dados do Aurora PostgreSQL, e o nome do bucket, o caminho do arquivo, o tipo de arquivo e a Região da AWS em que os dados do Amazon S3 estão armazenados. Para ter mais informações, consulte Visualizar um objeto no Guia do usuário do Amazon Simple Storage Service.

nota

A importação de dados multipart do Amazon S3 não é compatível atualmente.

  1. Obtenha o nome da tabela para a qual a função aws_s3.table_import_from_s3 deverá importar os dados. Por exemplo, o comando a seguir cria uma tabela t1 que pode ser utilizada em etapas posteriores.

    postgres=> CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));
  2. Veja os detalhes sobre o bucket do Amazon S3 e os dados a importar. Para fazer isso, abra o console do Amazon S3 em https://console.aws.amazon.com/s3/ e escolha Buckets. Encontre o bucket que contém seus dados na lista. Escolha o bucket, abra a página Object overview (Visão geral do objeto) e escolha Properties (Propriedades).

    Anote o nome do bucket, o caminho, a Região da AWS e o tipo de arquivo. Posteriormente, você precisará do nome do recurso da Amazon (ARN) para configurar o acesso ao Amazon S3 por meio de um perfil do IAM. Para ter mais informações, consulte Configurar o acesso a um bucket do Amazon S3. A imagem a seguir mostra um exemplo.

    Imagem de um objeto de arquivo em um bucket do Amazon S3.
  3. Você pode verificar o caminho dos dados no bucket do Amazon S3 usando o comando aws s3 cp da AWS CLI. Se as informações estiverem corretas, esse comando baixará uma cópia do arquivo do Amazon S3.

    aws s3 cp s3://DOC-EXAMPLE-BUCKET/sample_file_path ./
  4. Configure permissões em seu cluster de banco de dados do Aurora PostgreSQLpara permitir acesso ao arquivo no bucket do Amazon S3. Para fazer isso, use um perfil AWS Identity and Access Management (do IAM) ou credenciais de segurança. Para ter mais informações, consulte Configurar o acesso a um bucket do Amazon S3.

  5. Forneça o caminho e outros detalhes do objeto do Amazon S3 coletados (consulte a etapa 2) para a função create_s3_uri a fim de construir um objeto URI do Amazon S3. Para saber mais sobre essa função, consulte aws_commons.create_s3_uri. Veja a seguir um exemplo de como construir esse objeto durante uma sessão 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

    Na próxima etapa, passe esse objeto (aws_commons._s3_uri_1) para a função aws_s3.table_import_from_s3 a fim de importar os dados para a tabela.

  6. Invoque a função aws_s3.table_import_from_s3 para importar os dados do Amazon S3 para a sua tabela. Para obter informações de referência, consulte aws_s3.table_import_from_s3. Para ver exemplos, consulte Importar dados do Amazon S3 para um cluster de banco de dados do Aurora PostgreSQL.

Configurar o acesso a um bucket do Amazon S3

Para importar dados de um arquivo do Amazon S3, conceda ao cluster de bancos de dados Aurora PostgreSQL permissão para acessar o bucket do Amazon S3 no qual o arquivo se encontra. Conceda acesso a um bucket do Amazon S3 de uma das duas maneiras, conforme descrito nos tópicos a seguir.

Usar uma função do IAM para acessar um bucket do Amazon S3

Antes de carregar dados de um arquivo do Amazon S3, conceda ao cluster de bancos de dados Aurora PostgreSQL permissão para acessar o bucket do Amazon S3 no qual o arquivo está. Dessa forma, não é necessário gerenciar informações adicionais de credenciais ou fornecê-las na chamada da função aws_s3.table_import_from_s3.

Para fazer isso, crie uma política do IAM que conceda acesso ao bucket do Amazon S3. Crie uma função do IAM e associe a política a ela. Depois, atribua uma função do IAM ao cluster de banco de dados.

nota

Não é possível associar uma função do IAM a um cluster de banco de dados Aurora Serverless v1, portanto, as etapas a seguir não se aplicam.

Para oferecer ao Simple Storage Service (Amazon S3) acesso a um cluster de bancos de dados Aurora PostgreSQL por meio de uma função do IAM
  1. Crie uma política do IAM.

    Essa política concede ao bucket e ao objeto as permissões para que o cluster de bancos de dados Aurora PostgreSQL acesse o Amazon S3.

    Inclua na política as seguintes ações necessárias para permitir a transferência de arquivos de um bucket do Amazon S3 para o do Aurora PostgreSQL:

    • s3:GetObject

    • s3:ListBucket

    Inclua na política os recursos a seguir para identificar o bucket e os objetos do Amazon S3 no bucket. Isso mostra o formato do nome de recurso da Amazon (ARN) para acessar o Amazon S3.

    • arn:aws:s3:::DOC-EXAMPLE-BUCKET

    • arn:aws:s3:::DOC-EXAMPLE-BUCKET/*

    Para ter mais informações sobre como criar uma política do IAM para o Aurora PostgreSQL, consulte Criar e usar uma política do IAM para acesso do banco de dados do IAM. Consulte também Tutorial: Criar e anexar sua primeira política gerenciada pelo cliente no Guia do usuário do IAM.

    O comando da AWS CLI a seguir cria uma política do IAM denominada rds-s3-import-policy com essas opções. Ele concede acesso a um bucket chamado DOC-EXAMPLE-BUCKET.

    nota

    Anote o nome do recurso da Amazon (ARN) da política que é retornado por esse comando. O ARN será necessário para uma etapa posterior, quando você anexar a política a um perfil do IAM.

    exemplo

    Para Linux, macOS ou 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:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }'

    Para 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:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }'
  2. Criar um perfil do IAM.

    Faça isso para que o Aurora PostgreSQL possa assumir essa função do IAM para acessar os buckets do Amazon S3. Para ter mais informações, consulte Criar um perfil para delegar permissões a um usuário do IAM no Guia do usuário do IAM.

    Convém usar as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount em políticas baseadas em recursos para limitar as permissões do serviço a um recurso específico. Essa é a maneira mais eficiente de se proteger contra o problema "confused deputy".

    Se você utilizar ambas as chaves de contexto de condição global, e o valor aws:SourceArn contiver o ID da conta, o valor aws:SourceAccount e a conta no valor aws:SourceArn deverão utilizar o mesmo ID de conta quando utilizados na mesma instrução de política.

    • Use aws:SourceArn se quiser acesso entre serviços para um único recurso.

    • Use aws:SourceAccount se você quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

    Na política, certifique-se de usar a chave de contexto de condição global aws:SourceArn com o ARN completo do recurso. O exemplo a seguir mostra como fazer isso utilizando o comando da AWS CLI para criar uma função chamada rds-s3-import-role.

    exemplo

    Para Linux, macOS ou 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" } } } ] }'

    Para 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. Anexe a política do IAM que você criou ao perfil do IAM que você criou.

    O comando da AWS CLI a seguir vincula a política criada na etapa anterior à função rds-s3-import-role. Substitua your-policy-arn pelo ARN da política que você anotou naquela ocasião.

    exemplo

    Para Linux, macOS ou Unix:

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

    Para Windows:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-import-role
  4. Adicione o perfil do IAM ao cluster de banco de dados.

    Faça isso usando o AWS Management Console ou a AWS CLI, conforme descrito a seguir.

Para adicionar um perfil do IAM a um cluster de banco de dados do PostgreSQL usando o console
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. Escolha o nome da de cluster de banco de dados do PostgreSQL para exibir os detalhes.

  3. Na guia Connectivity & security (Conectividade e segurança), na seção Manage IAM roles (Gerenciar funções do IAM), escolha a função a ser adicionada sob Add IAM roles to this cluster (Adicionar funções do IAM a este cluster/esta instância).

  4. Em Feature (Recurso), escolha s3Import.

  5. Escolha Add role (adicionar função).

Para adicionar um perfil do IAM a um cluster de banco de dados do PostgreSQL usando a CLI
  • Use o comando a seguir para adicionar a função ao cluster de banco de dados do PostgreSQL chamado my-db-cluster. Substituayour-role-arn pelo ARN da função que você anotou em uma etapa anterior. Use s3Import para o valor da opção --feature-name.

    exemplo

    Para Linux, macOS ou 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

    Para 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 adicionar uma função do IAM a um cluster de banco de dados PostgreSQL utilizando a API do Amazon RDS, chame a operação AddRoleToDBCluster.

Usar credenciais de segurança para acessar um bucket do Amazon S3

Se preferir, você poderá usar credenciais de segurança para conceder acesso a um bucket do Amazon S3 em vez de conceder acesso com uma função do IAM. Faça isso especificando o parâmetro credentials na chamada da função aws_s3.table_import_from_s3.

O parâmetro credentials é uma estrutura do tipo aws_commons._aws_credentials_1, que contém credenciais da AWS. Use a função aws_commons.create_aws_credentials para definir a chave de acesso e a chave secreta em uma estrutura aws_commons._aws_credentials_1, conforme mostrado a seguir.

postgres=> SELECT aws_commons.create_aws_credentials( 'sample_access_key', 'sample_secret_key', '') AS creds \gset

Depois de criar a estrutura aws_commons._aws_credentials_1 , use a função aws_s3.table_import_from_s3 com o parâmetro credentials para importar os dados, conforme mostrado a seguir.

postgres=> SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', :'creds' );

Outra opção é incluir a chamada de função aws_commons.create_aws_credentials em linha dentro da chamada de função 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', '') );

Solução de problemas de acesso ao Amazon S3

Se você encontrar problemas de conexão ao tentar importar dados do Amazon S3, consulte o seguinte para obter recomendações:

Importar dados do Amazon S3 para um cluster de banco de dados do Aurora PostgreSQL

Importe dados do bucket do Amazon S3 usando a função table_import_from_s3 da extensão aws_s3. Para obter informações de referência, consulte aws_s3.table_import_from_s3.

nota

Os exemplos a seguir usam o método de perfil do IAM para conceder acesso ao bucket do Amazon S3. Assim, as chamadas de função do aws_s3.table_import_from_s3 não incluem parâmetros de credenciais.

Veja a seguir um exemplo típico.

postgres=> SELECT aws_s3.table_import_from_s3( 't1', '', '(format csv)', :'s3_uri' );

Os parâmetros são os seguintes:

  • t1 – o nome da tabela no cluster de banco de dados do PostgreSQL na qual os dados devem ser copiados.

  • '' – uma lista opcional de colunas na tabela de banco de dados. É possível usar esse parâmetro para indicar quais colunas dos dados do S3 devem ser inseridos em quais colunas da tabela. Se nenhuma coluna for especificada, todas as colunas serão copiadas para a tabela. Para obter um exemplo de uso de uma lista de colunas, consulte Importar um arquivo do Amazon S3 que usa um delimitador personalizado.

  • (format csv) – argumentos COPY do PostgreSQL. O processo de cópia usa os argumentos e o formato do comando COPY PostgreSQL para importar os dados. As opções de formato incluem valores separados por vírgula (CSV), conforme mostrado neste exemplo, texto e binário. O padrão é texto.

  • s3_uri – uma estrutura que contém as informações que identificam o arquivo do Amazon S3. Para obter um exemplo de como usar a função aws_commons.create_s3_uri para criar uma estrutura s3_uri, consulte Visão geral da importação de dados do Amazon S3.

Para ter mais informações sobre essa função, consulte aws_s3.table_import_from_s3.

A função aws_s3.table_import_from_s3 retorna texto. Para especificar outros tipos de arquivos para importação de um bucket do Amazon S3, veja um dos exemplos a seguir.

nota

Importar 0 byte causará um erro.

Importar um arquivo do Amazon S3 que usa um delimitador personalizado

O exemplo a seguir mostra como importar um arquivo que usa um delimitador personalizado. Ele também mostra como controlar onde colocar os dados na tabela de banco de dados usando o parâmetro column_list da função aws_s3.table_import_from_s3.

Para este exemplo, suponha que as informações a seguir estejam organizadas em colunas delimitadas por barras verticais no arquivo do Amazon S3.

1|foo1|bar1|elephant1 2|foo2|bar2|elephant2 3|foo3|bar3|elephant3 4|foo4|bar4|elephant4 ...
Como importar um arquivo que usa um delimitador personalizado
  1. Crie uma tabela no banco de dados para os dados importados.

    postgres=> CREATE TABLE test (a text, b text, c text, d text, e text);
  2. Use o seguinte formato da função aws_s3.table_import_from_s3 para importar dados do arquivo do Amazon S3.

    Você pode incluir a chamada de função aws_commons.create_s3_uri em linha dentro da chamada de função aws_s3.table_import_from_s3 para especificar o arquivo.

    postgres=> SELECT aws_s3.table_import_from_s3( 'test', 'a,b,d,e', 'DELIMITER ''|''', aws_commons.create_s3_uri('DOC-EXAMPLE-BUCKET', 'pipeDelimitedSampleFile', 'us-east-2') );

Os dados estão agora na tabela nas colunas a seguir.

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

Importar um arquivo do Amazon S3 compactado (gzip)

O exemplo a seguir mostra como importar um arquivo do Amazon S3 compactado com gzip. O arquivo que você importa precisa ter os seguintes metadados do Simple Storage Service (Amazon S3):

  • Chave: Content-Encoding

  • Valor: gzip

Se você carregar o arquivo usando o AWS Management Console, os metadados geralmente são aplicados pelo sistema. Para obter informações sobre o carregamento de arquivos para o Simple Storage Service (Amazon S3) usando o AWS Management Console, a AWS CLI ou a API, consulte Carregar objetos no Guia do usuário do Amazon Simple Storage Service.

Para ter mais informações sobre metadados do Simple Storage Service (Amazon S3) e detalhes sobre metadados fornecidos pelo sistema, consulte Editar metadados de objeto no console do Simple Storage Service (Amazon S3) no Guia do usuário do Amazon Simple Storage Service.

Importe o arquivo gzip para a sua do cluster de bancos de dados Aurora PostgreSQL, conforme mostrado a seguir.

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)', 'DOC-EXAMPLE-BUCKET', 'test-data.gz', 'us-east-2' );

Importar um arquivo do Amazon S3 codificado

O exemplo a seguir mostra como importar um arquivo do Amazon S3 que tenha codificação Windows-1252.

postgres=> SELECT aws_s3.table_import_from_s3( 'test_table', '', 'encoding ''WIN1252''', aws_commons.create_s3_uri('DOC-EXAMPLE-BUCKET', 'SampleFile', 'us-east-2') );

Referência de funções

aws_s3.table_import_from_s3

Importa dados do Amazon S3 para uma tabela do do Aurora PostgreSQL. A extensão aws_s3 fornece a função aws_s3.table_import_from_s3. O valor de retorno é texto.

Sintaxe

Os parâmetros necessários são table_name, column_list e options. Eles identificam a tabela do banco de dados e especificam como os dados são copiados nessa tabela.

Você também pode usar os seguintes parâmetros:

  • O parâmetro s3_info especifica o arquivo do Amazon S3 a ser importado. Quando você usa esse parâmetro, o acesso ao Amazon S3 é fornecido por uma função do IAM para a do cluster de banco de dados do PostgreSQL.

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1 )
  • O parâmetro credentials especifica as credenciais para acessar o Amazon S3. Ao usar esse parâmetro, você não usa uma função do 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

Uma string de texto necessária contendo o nome da tabela de banco de dados PostgreSQL para a qual importar os dados.

column_list

Uma string de texto necessária contendo uma lista opcional das colunas da tabela de banco de dados PostgreSQL para a qual copiar os dados. Se a string estiver vazia, todas as colunas da tabela serão usadas. Para ver um exemplo, consulte Importar um arquivo do Amazon S3 que usa um delimitador personalizado.

options

Uma string de texto necessária contendo argumentos para o comando PostgreSQL COPY. Esses argumentos especificam como os dados devem ser copiados para a tabela do PostgreSQL. Para obter mais detalhes, consulte Documentação de COPY do PostgreSQL.

s3_info

Um tipo composto aws_commons._s3_uri_1 contendo as seguintes informações sobre o objeto do S3:

  • bucket – O nome do Amazon S3 bucket que contém o arquivo.

  • file_path – o nome do Amazon S3 arquivo, incluindo o caminho do arquivo.

  • region: a região da AWS em que o arquivo se encontra. Para obter uma listagem de nomes de regiões da AWS e os valores associados, consulte Regiões e zonas de disponibilidade.

credenciais

Um tipo composto aws_commons._aws_credentials_1 contendo as seguintes credenciais a serem usadas para a operação de importação:

  • Chave de acesso

  • Chave secreta

  • Token de sessão

Para obter informações sobre como criar uma estrutura aws_commons._aws_credentials_1 composta, consulte aws_commons.create_aws_credentials.

Sintaxe alternativa

Para ajudar nos testes, você pode usar um conjunto expandido de parâmetros em vez dos parâmetros s3_info e credentials. Veja a seguir as variações acionais da sintaxe da função aws_s3.table_import_from_s3.

  • Em vez de usar o parâmetro s3_info para identificar um arquivo do Amazon S3, use a combinação dos parâmetros bucket, file_path e region. Com essa forma da função, o acesso ao Amazon S3 é fornecido por uma função do IAM na instância de banco de dados do PostgreSQL.

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text )
  • Em vez de usar o parâmetro credentials para especificar o acesso ao Amazon S3, use a combinação dos parâmetros access_key, session_key e 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

Uma string de texto contendo o nome do bucket do Amazon S3 que contém o arquivo.

file_path

Uma string de texto contendo o nome do arquivo do Amazon S3, incluindo o caminho do arquivo.

região

Uma string de texto que identifica a Região da AWS do arquivo. Para obter uma listagem de nomes de Região da AWS e os valores associados, consulte Regiões e zonas de disponibilidade.

access_key

Uma string de texto contendo a chave de acesso a ser usada para a operação de importação. O padrão é NULL.

secret_key

Uma string de texto contendo a chave secreta a ser usada para a operação de importação. O padrão é NULL.

session_token

(Opcional) Uma string de texto contendo a chave de sessão a ser usada para a operação de importação. O padrão é NULL.

aws_commons.create_s3_uri

Cria uma estrutura aws_commons._s3_uri_1 para comportar informações do arquivo do Amazon S3. Use os resultados da função aws_commons.create_s3_uri no parâmetro s3_info da função aws_s3.table_import_from_s3.

Sintaxe

aws_commons.create_s3_uri( bucket text, file_path text, region text )

Parâmetros

bucket

Uma string de texto necessária contendo o nome do bucket do Amazon S3 para o arquivo.

file_path

Uma string de texto necessária contendo o nome do arquivo do Amazon S3, incluindo o caminho do arquivo.

região

Uma string de texto necessária que contém a Região da AWS na qual o arquivo se encontra. Para obter uma listagem de nomes de Região da AWS e os valores associados, consulte Regiões e zonas de disponibilidade.

aws_commons.create_aws_credentials

Define uma chave de acesso e uma chave secreta em uma estrutura aws_commons._aws_credentials_1. Use os resultados da função aws_commons.create_aws_credentials no parâmetro credentials da função aws_s3.table_import_from_s3.

Sintaxe

aws_commons.create_aws_credentials( access_key text, secret_key text, session_token text )

Parâmetros

access_key

Uma string de texto necessária contendo a chave de acesso a ser usada para importar um arquivo do Amazon S3. O padrão é NULL.

secret_key

Uma string de texto necessária contendo a chave secreta a ser usada para importar um arquivo do Amazon S3. O padrão é NULL.

session_token

Uma string de texto opcional contendo o token de sessão a ser usado para importar um arquivo do Amazon S3. O padrão é NULL. Se você fornecer um session_token opcional, poderá usar credenciais temporárias.