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.
Tópicos
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
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á comopostgres
.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordPara instalar a extensão, execute o comando a seguir.
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Para verificar se a extensão está instalada, você pode usar o 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)
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.
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 tabelat1
que pode ser utilizada em etapas posteriores.postgres=>
CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));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.
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://
amzn-s3-demo-bucket
/sample_file_path
./-
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.
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 \gsetNa próxima etapa, passe esse objeto (
aws_commons._s3_uri_1
) para a funçãoaws_s3.table_import_from_s3
a fim de importar os dados para a tabela.-
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.
Tópicos
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
-
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:::
amzn-s3-demo-bucket
-
arn:aws:s3:::
amzn-s3-demo-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 denominadoamzn-s3-demo-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:::
amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-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:::
amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] }' -
-
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
eaws: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 valoraws:SourceAccount
e a conta no valoraws: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 chamadards-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
" } } } ] }' -
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
pelo ARN da política que você anotou naquela ocasião.your-policy-arn
exemplo
Para Linux, macOS ou Unix:
aws iam attach-role-policy \ --policy-arn
your-policy-arn
\ --role-name rds-s3-import-rolePara Windows:
aws iam attach-role-policy ^ --policy-arn
your-policy-arn
^ --role-name rds-s3-import-role -
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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
Escolha o nome da de cluster de banco de dados do PostgreSQL para exibir os detalhes.
-
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).
-
Em Feature (Recurso), escolha s3Import.
-
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
. Substitua
pelo ARN da função que você anotou em uma etapa anterior. Useyour-role-arn
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-arnyour-role-arn
\ --regionyour-region
Para Windows:
aws rds add-role-to-db-cluster ^ --db-cluster-identifier
my-db-cluster
^ --feature-name s3Import ^ --role-arnyour-role-arn
^ --regionyour-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:
-
Solução de problemas de identidade e acesso do Amazon Aurora
-
Solução de problemas do Amazon S3 no Guia do usuário do Amazon Simple Storage Service
-
Troubleshooting Amazon S3 and IAM (Solucionar problemas no Amazon S3 e no IAM) no Guia do usuário do IAM
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 PostgreSQLpara 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 estruturas3_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.
Tópicos
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
-
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); -
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('amzn-s3-demo-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)',
'amzn-s3-demo-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('amzn-s3-demo-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âmetrosbucket
,file_path
eregion
. 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âmetrosaccess_key
,session_key
esession_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.