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.