Migra una tabella utilizzando l'esportazione in S3 e l'importazione da S3 - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migra una tabella utilizzando l'esportazione in S3 e l'importazione da S3

Prerequisiti

Informazioni sui prezzi

AWS costi per PITR (in base alle dimensioni della tabella e alla durata PITR dell'attivazione). Se non ne hai bisogno, PITR tranne che per l'esportazione, puoi disattivarla al termine dell'esportazione. AWS inoltre addebiti per le richieste effettuate nei confronti di S3, per l'archiviazione dei dati esportati in S3 e per l'importazione (in base alla dimensione non compressa dei dati importati).

Per ulteriori informazioni sui prezzi di DynamoDB, consulta i prezzi di DynamoDB.

Nota

Esistono limiti alla dimensione e al numero di oggetti durante l'importazione da S3 a DynamoDB. Per ulteriori informazioni, consulta Quote di importazione.

Fase 1: Richiedere l'esportazione di una tabella in Amazon S3

  1. Accedi alla console di AWS gestione e apri la console DynamoDB.

  2. Nel riquadro di navigazione sul lato sinistro della console, scegli Exports to S3 (Esportazioni su S3).

  3. Scegli una tabella di origine e un bucket S3 di destinazione. Inserisci il bucket dell'account URL di destinazione utilizzando il formato. s3://bucketname/prefix Il prefisso è una cartella opzionale che aiuta a mantenere organizzato il bucket di destinazione.

  4. Scegli Esportazione completa. Un'esportazione completa restituisce lo snapshot dell'intera tabella così com'era nel point-in-time specificato.

    1. Seleziona Ora corrente per esportare l'ultima istantanea completa della tabella

    2. Per il formato di file esportato, scegli tra JSON DynamoDB e Amazon Ion. L'opzione predefinita è DynamoDB. JSON

  5. Fai clic sul pulsante Esporta per iniziare l'esportazione.

  6. Le esportazioni di tabelle di piccole dimensioni dovrebbero concludersi in pochi minuti, ma le tabelle nell'intervallo dei terabyte potrebbero richiedere più di un'ora.

Fase 2: Richiedere l'importazione di una tabella da Amazon S3

  1. Accedi alla console di AWS gestione e apri la console DynamoDB.

  2. Nel pannello di navigazione sul lato sinistro della console, scegliere Exports to S3 (Esportazioni su S3).

  3. Nella pagina visualizzata, selezionare Import from S3 (Importazione da S3).

  4. Inserisci il codice sorgente di Amazon S3. URL Puoi trovarlo anche utilizzando il pulsante Browse S3:. s3://bucket/prefix/AWSDynamoDB/<XXXXXXXX-XXXXXX>/Data/

  5. Specificare se si è il proprietario nella casella S3 bucket owner (Proprietario bucket S3).

  6. In Importa compressione del file, seleziona GZIPin modo che corrisponda all'esportazione.

  7. In Importa formato file, seleziona DynamoDB in JSON modo che corrisponda all'esportazione.

  8. Seleziona il pulsante Avanti e scegli le opzioni per la nuova tabella che verrà creata per archiviare i dati.

  9. Selezionare di nuovo Next (Successivo) per rivedere le opzioni di importazione, quindi fare clic su Import (Importa) per avviare l'attività di importazione. Vedrai la tua nuova tabella elencata nelle Tabelle con lo stato Creazione. La tabella non è accessibile durante questo periodo.

  10. Una volta completata l'importazione, lo stato verrà visualizzato come Attivo e potrai iniziare a utilizzare la tabella.

  11. Le importazioni di piccole dimensioni dovrebbero terminare nel giro di pochi minuti, ma le tabelle dell'ordine dei terabyte potrebbero richiedere più di un'ora.

Mantenere le tabelle sincronizzate durante la migrazione

Se riesci a sospendere le operazioni di scrittura sulla tabella di origine per tutta la durata della migrazione, l'origine e l'output dovrebbero corrispondere esattamente dopo la migrazione. Se non riesci a mettere in pausa le operazioni di scrittura, la tabella di destinazione normalmente si trova un po' indietro rispetto all'origine dopo la migrazione. Per recuperare la tabella di origine, puoi utilizzare lo streaming (DynamoDB Streams o Kinesis Data Streams for DynamoDB) per riprodurre le scritture avvenute nella tabella di origine dopo il backup o l'esportazione.

Dovresti iniziare a leggere i record dello stream prima del timestamp quando hai esportato la tabella di origine in S3. Ad esempio, se l'esportazione in S3 è avvenuta alle 14:00 e l'importazione nella tabella di destinazione è stata conclusa alle 23:00, è necessario avviare la lettura del flusso DynamoDB alle 13:58. La tabella delle opzioni di streaming per l'acquisizione dei dati di modifica riassume le funzionalità di ciascun modello di streaming.

L'uso di DynamoDB Streams con Lambda offre un approccio semplificato per la sincronizzazione dei dati tra le tabelle DynamoDB di origine e di destinazione. È possibile utilizzare una funzione Lambda per riprodurre ogni scrittura nella tabella di destinazione.

Nota

Gli elementi vengono conservati in DynamoDB Streams per 24 ore, quindi è necessario pianificare il completamento del backup e del ripristino o l'esportazione e l'importazione all'interno di tale finestra.