Utilizzo di un'implementazione personalizzata in .NET o Java conAWS SDK - AWS Guida prescrittiva

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à.

Utilizzo di un'implementazione personalizzata in .NET o Java conAWS SDK

Invece di affidarti ad altriAWS servizi per eseguire la copia delle tabelle tra account, puoi creare una soluzione personalizzata utilizzando .NET, Java, Python o un altro linguaggio di programmazione supportato. AWSfornisce SDK, che consentono l'accesso programmatico aAWS servizi o API, in più lingue. Questa soluzione richiede un'esperienza pratica di sviluppo nel linguaggio utilizzato.

Puoi creare un'app per console (o un nuovo endpoint API, se lavori su un'API Web) che può essere richiamata per eseguire la copia completa della tabella. La soluzione personalizzata deve eseguire la seguente procedura:

  1. Elimina la tabella DynamoDB nell'account di destinazione.

  2. Crea la tabella DynamoDB (con capacità su richiesta) e gli indici nell'account di destinazione. In alternativa, è possibile utilizzare la modalità di capacità fornita e impostare RCU e WCU in base alle proprie esigenze.

  3. Copia i dati dall'account di origine all'account di destinazione, utilizzando l'operazione di scrittura batch di DynamoDB inAWS SDK per ridurre il numero di chiamate di servizio verso DynamoDB.

L'implementazione personalizzata utilizza token di sicurezza per accedere alle politiche IAM che forniscono l'accesso agli account di origine e di destinazione.

Questa soluzione si adatta meglio alle tabelle DynamoDB di piccole dimensioni (meno di 500 MB).

Per una tabella DynamoDB con 200.000 elementi (dimensione media degli articoli 30 KB e dimensione della tabella di 250 MB), questa soluzione, inclusa la creazione di tabelle e la popolazione dei dati, richiede circa 5 minuti:

  • Modalità di capacità: fornita, con 4000 RCU e 4000 WCU

  • Unità di capacità consumate: 30 K RCU e circa 400 K WCU

Vantaggi

  • La soluzione non dipende da alcunAWS servizio diverso da DynamoDB, quindi comporta meno costi di manutenzione.

  • La soluzione può essere resa serverless utilizzando unaAWS Lambda funzione per eseguirla. Tuttavia, l'autonomia deve essere inferiore o uguale a 15 minuti.

Svantaggi

  • La soluzione consuma più RCU e WCU.

  • Potrebbe non essere una buona soluzione per set di dati di grandi dimensioni, poiché la soluzione richiede connessioni attive con due diverse tabelle DynamoDB in due account diversi (utilizzando due token di sicurezza diversi). Se la copia della tabella per un set di dati di grandi dimensioni richiede molto tempo, potrebbero verificarsi interruzioni della connessione o la scadenza del token di sicurezza, quindi è necessario implementare una logica per gestire tali possibilità. È inoltre necessario implementare la logica per continuare la copia dal punto in cui è fallita.

Per ulteriori informazioni, consulta Copiare le tabelle Amazon DynamoDB tra gli account utilizzando un modello di implementazione personalizzato.