Amazon DynamoDB esporta in S3

Amazon DynamoDB esporta in S3
È possibile esportare comodamente i dati da una tabella AWS DynamoDB in un secchio Amazon S3. Questo può accadere in qualsiasi momento finché si trova all'interno della finestra di recupero punto-in tempo. Questa funzione ti consente di eseguire il backup dei tuoi dati.

Inoltre, l'importazione di dati da una determinata tabella a un secchio S3 consente di elaborare query complesse ed eseguire analisi sui dati utilizzando AWS Glue, Lake Formation e Athena. La funzione di esportazione di tabella DynamoDB è una soluzione completamente gestita, affidabile e veloce. Ancora di più, l'esportazione di una tabella non consuma la capacità di lettura della tabella né influisce sulle sue prestazioni e disponibilità.

Questo articolo discute tutto ciò che dovresti sapere sull'esportazione di tabelle DynamoDB su Amazon S3. Imparerai come esportare tabelle DynamoDB in S3 usando Boto3.

Come esportare i dati da DynamoDB ad Amazon S3

Per esportare i dati da Amazon DynamoDB ad Amazon S3, è possibile utilizzare il servizio della pipeline di dati AWS e configurarli per esportare periodicamente i dati dalla tabella DynamoDB in un bucket S3. È anche possibile utilizzare il servizio di colla AWS per esportare i dati da DynamoDB a S3 creando un crawler di colla che indica la tabella DynamoDB e un lavoro di colla che esporta i dati in S3.

Un altro approccio sarebbe quello di utilizzare gli SDK AWS per scrivere uno script che esporta i dati dalla tabella DynamoDB a S3. Lo script userebbe l'API DynamoDB per scansionare o interrogare la tabella e quindi l'API S3 per scrivere i dati su un secchio.

I seguenti sono i passaggi coinvolti durante l'esportazione di una tabella DynamoDB in Amazon S3:

Passaggio 1: installa la libreria Boto3

Puoi usare il PIP Installa Boto3 Comando per installare la libreria Boto3, che è l'SDK Amazon Web Services (AWS) per Python. In particolare, la biblioteca consente agli sviluppatori di Python di scrivere software che utilizzano servizi come Amazon S3 e Amazon EC2.

Il codice di installazione è come mostrato di seguito:

PIP Installa Boto3

Passaggio 2: importa le librerie richieste

IL Importa Boto3 E Importa JSON Utilità importano le librerie necessarie per il tuo script. Boto3 è utile per l'interazione con i servizi AWS, mentre JSON viene utilizzato per leggere e scrivere dati JSON.

La tua riga di comando dovrebbe apparire così:

Importa Boto3
Importa JSON

Passaggio 3: creare client per DynamoDB e S3

Utilizzerai i client per interrattare con S3 e DynamoDB. Per raggiungere questo obiettivo, dovrai usare DynamoDB = boto3.Client ('DynamoDB') E S3 = Boto3.Client ('S3') Comandi per creare client per DynamoDB e Amazon S3, rispettivamente.

È possibile utilizzare la riga di comando in basso:

DynamoDB = boto3.Client ('DynamoDB')
S3 = Boto3.Client ('S3')

Passaggio 4: specificare il nome della tabella e il nome del secchio S3

Definisci i nomi dei bucket della tabella e S3 utilizzando i codici seguenti:

table_name = 'mytablename'
bucket_name = 'mybucketname'

Passaggio 5: utilizzare l'operazione di scansione per recuperare gli elementi

È possibile utilizzare le operazioni di scansione o query per recuperare tutti gli elementi dalla tabella. In questa illustrazione, utilizzeremo l'operazione di scansione per il recupero degli articoli come mostrato:

Risultato = DynamoDB.scan (tablename = table_name)

Passaggio 6: scrivere elementi su un file

Utilizzare il file system locale per scrivere gli elementi su un file. Il file prenderà automaticamente i dati di nome '.JSON 'nel file system locale. Questa utilità dovrebbe aiutare:

con Open ('Data.json ',' w ') come data_file:
file di dati.Scrivi (JSON.dumps (risultato ['elementi']))

Passaggio 7: caricare il nuovo file su Amazon S3

Ora puoi caricare il tuo file sul bucket S3 specificato usando la riga di comando in basso:

S3.upload_file ('dati.json ', bucket_name,' dati.json ')

Passaggio 8: convalidare i dati

Questo passaggio è facoltativo ma ideale se si desidera convalidare i tuoi dati. È possibile eseguire la procedura di convalida scaricando il file da Amazon S3 prima di leggerlo.

Conclusione

È fondamentale notare che lo script è un esempio di base e può essere adatto solo per alcuni set di dati. Per set di dati di grandi dimensioni, considera di utilizzare il Boto3.DynamoDB.tipi.Typserializer per serializzare o formattare gli elementi e paginare attraverso i risultati usando il DynamoDB.scansione() metodo. IL Limite E Esclusivestartkey I parametri saranno utili durante la paginazione.