

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando o DynamoDB com o Amazon S3 para exportar e importar dados de tabelas
<a name="amazon-s3"></a>

O Amazon DynamoDB suporta a exportação de dados de tabelas para o Amazon S3 usando o recurso Exportar para o S3. Você pode exportar dados nos formatos JSON e Amazon Ion do DynamoDB. Os dados exportados são compactados e podem ser criptografados usando uma chave Amazon S3 ou uma chave do AWS Key Management Service (AWS KMS). A exportação de uma tabela não consome a capacidade de leitura da tabela e não afeta o desempenho e a disponibilidade da tabela durante a exportação. Você pode exportar para um bucket do S3 dentro da conta ou para uma conta diferente, mesmo em uma região diferente da AWS. Point-in-timea recuperação (PITR) deve ser ativada na tabela de origem antes de você realizar uma exportação para o Amazon S3.

Recentemente, o Amazon DynamoDB adicionou suporte para importar dados de tabelas diretamente do Amazon S3 usando o recurso Importar do S3. Anteriormente, depois de exportar os dados da tabela usando Exportar para o S3, você precisava confiar nas ferramentas de extração, transformação e carregamento (ETL) para analisar os dados da tabela no bucket do S3, inferir o esquema e carregar ou copiar para a tabela de destino do DynamoDB. Esse era um processo complicado e não oferecia flexibilidade quando a estrutura de dados da tabela mudava com o tempo. Além disso, o uso de ferramentas de ETL, como o AWS Glue, gerou cobranças adicionais pela infraestrutura e pela capacidade de gravação consumida durante a importação.

O recurso Importar do S3 não consome capacidade de gravação na tabela de destino e oferece suporte a diferentes formatos de dados, incluindo DynamoDB JSON, Amazon Ion e valores separados por vírgula (CSV). Os dados também podem estar no formato descompactado ou compactado (gzip ou zstd).

Você pode realizar a importação e a exportação usando o AWS Management Console, a AWS Command Line Interface (AWS CLI) ou a API do DynamoDB.

O diagrama a seguir mostra os dados migrando do DynamoDB na conta de origem para um bucket do S3 na conta de destino e, em seguida, para a instância do DynamoDB da conta de destino.



![\[""\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/dynamodb-full-table-copy-options/images/dynamodb-s3-import.png)


Em um alto nível, as seguintes etapas são necessárias para exportar e importar a tabela do DynamoDB de uma conta para outra usando o Amazon S3:

1. Crie um bucket do S3 na conta de destino e anexe a política do bucket do S3 para permitir o acesso da conta de origem.

1. Na conta de origem, no console do DynamoDB, **escolha Exportar para S3, selecione a** tabela de origem do DynamoDB e especifique o bucket do S3 na conta de destino. Para obter mais informações, consulte a [documentação do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport_Requesting.html).

1. Na conta de destino, no console do DynamoDB, **escolha Importar do S3 e especifique o bucket do** S3 na conta de destino. Para obter mais informações, consulte a [documentação do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataImport.Requesting.html).

**Vantagens**
+ É uma solução sem servidor.
+ A solução funciona para grandes conjuntos de dados, de até terabytes.
+ Ele não consome nenhuma capacidade provisionada nas tabelas de origem e destino.
+ Não há impacto no desempenho ou na disponibilidade da tabela de origem.

**Desvantagens**
+ No momento, a importação para tabelas existentes não é compatível com esse recurso. O processo de importação cria uma nova tabela.