Amazon DynamoDB Exportar para S3

Amazon DynamoDB Exportar para S3
Você pode exportar convenientemente dados de uma tabela AWS DynamoDB para um balde Amazon S3. Isso pode acontecer a qualquer momento, desde que esteja dentro da sua janela de recuperação no ponto-dia. Este recurso permite que você faça backup de seus dados.

Além disso, a importação de dados de uma tabela específica para um balde S3 permite processar consultas complexas e executar análises em seus dados usando a AWS Glue, Formação do lago e Athena. O recurso de exportação de tabela do DynamoDB é uma solução totalmente gerenciada, confiável e rápida. Ainda mais, a exportação de uma tabela não consome a capacidade de leitura da tabela nem afeta seu desempenho e disponibilidade.

Este artigo discute tudo o que você deve saber sobre a exportação de tabelas do DynamoDB para a Amazon S3. Você aprenderá como exportar tabelas de dynamoDB para S3 usando o BOTO3.

Como exportar dados do DynamoDB para a Amazon S3

Para exportar dados do Amazon DynamoDB para a Amazon S3, você pode usar o serviço de pipeline de dados da AWS e configurá -los para exportar periodicamente dados da sua tabela DynamoDB para um balde S3. Também é possível usar o serviço de cola da AWS para exportar dados do DynamoDB para S3, criando um rastreador de cola que aponta para a tabela do DynamoDB e um trabalho de cola que exporta os dados para S3.

Outra abordagem seria usar os SDKs da AWS para escrever um script que exporte dados da sua tabela DynamoDB para S3. O script usaria a API do DynamoDB para digitalizar ou consultar a tabela e, em seguida, a API S3 para escrever os dados em um balde.

A seguir, são apresentadas as etapas envolvidas ao exportar uma tabela DynamoDB para a Amazon S3:

Etapa 1: Instale a biblioteca BOTO3

Você pode usar o PIP Instale o BOTO3 Comando para instalar a biblioteca BOTO3, que é o SDK da Amazon Web Services (AWS) para Python. Notavelmente, a biblioteca permite que os desenvolvedores do Python escrevem software que usa serviços como Amazon S3 e Amazon EC2.

O código de instalação é como mostrado abaixo:

PIP Instale o BOTO3

Etapa 2: importe as bibliotecas necessárias

O Importar BOTO3 e importar json Utilitários importam as bibliotecas necessárias para o seu script. O BOTO3 é útil para interagir com os serviços da AWS, enquanto o JSON é usado para ler e escrever dados JSON.

Sua linha de comando deve ficar assim:

Importar BOTO3
importar json

Etapa 3: Crie clientes para o DynamoDB e S3

Você usará clientes para interromper com S3 e DynamoDB. Para conseguir isso, você precisará usar DynamoDB = BOTO3.Client ('DynamoDB') e S3 = BOTO3.cliente ('s3') comandos para criar clientes para o DynamoDB e Amazon S3, respectivamente.

Você pode usar a linha de comando abaixo:

DynamoDB = BOTO3.Client ('DynamoDB')
S3 = BOTO3.cliente ('s3')

Etapa 4: especifique o nome da sua tabela e o nome do balde S3

Defina sua tabela e nomes de baldes S3 usando os códigos abaixo:

tabela_name = 'MyTableName'
bucket_name = 'mybucketName'

Etapa 5: use a operação de varredura para recuperar itens

Você pode usar as operações de digitalização ou consulta para recuperar todos os itens da sua mesa. Nesta ilustração, usaremos a operação de varredura para recuperação de itens como mostrado:

Result = DynamoDB.Scan (nome do tablename = tabela_name)

Etapa 6: Escreva itens em um arquivo

Use o sistema de arquivos local para gravar itens em um arquivo. O arquivo levará automaticamente o nome 'dados.JSON 'no sistema de arquivos local. Este utilitário deve ajudar:

com open ('dados.json ',' w ') como data_file:
data_file.Escreva (JSON.despejos (resultado ['itens'])))

Etapa 7: Carregue o novo arquivo para a Amazon S3

Agora você pode fazer upload do seu arquivo para o seu balde S3 especificado usando a linha de comando abaixo:

S3.upload_file ('dados.json ', bucket_name,' dados.JSON ')

Etapa 8: Validar os dados

Esta etapa é opcional, mas ideal se você deseja validar seus dados. Você pode executar o procedimento de validação baixando o arquivo da Amazon S3 antes de lê -lo.

Conclusão

É vital observar que o script é um exemplo básico e só pode ser adequado para alguns conjuntos de dados. Para conjuntos de dados grandes, considere usar o BOTO3.DynamoDB.tipos.TIPERIDADE para serializar ou formatar os itens e paginar através dos resultados usando o DynamoDB.Varredura() método. O Limite e ExclusivestartKey Os parâmetros serão úteis durante a paginação.