Kopieren einer Tabelle in eine andere in DynamoDB
Was ist der beste Weg, identisch kopieren einer Tabelle in eine neue in DynamoDB?
(Ich bin nicht besorgt über die Atomarität).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was ist der beste Weg, identisch kopieren einer Tabelle in eine neue in DynamoDB?
(Ich bin nicht besorgt über die Atomarität).
Du musst angemeldet sein, um einen Kommentar abzugeben.
AWS-Pipeline enthält eine Vorlage, die verwendet werden können für diesen Zweck: "CrossRegion DynamoDB Kopieren"
Finden Sie unter: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-crossregion-ddb-create.html
Das Ergebnis ist eine einfache pipeline, die wie folgt aussieht:
Obwohl es heißt CrossRegion können Sie ganz einfach nutzen es für die gleiche region, wie lange der Zieltabelle einen anderen Namen (Sie Erinnern sich, dass die Tabellennamen eindeutig sind, pro Konto und region)
Können Sie Scan zum Lesen der Daten und speichern Sie die neue Tabelle.
Auf die AWS-Foren ein Kerl aus dem AWS-team veröffentlicht ein anderer Ansatz ist die Verwendung von EMR: Wie Dupliziere ich eine Tabelle?
Schema
. Wie mache ich das?Erstellen Sie eine Sicherungskopie(Backup option) und wiederherstellen der Tabelle mit einer neuen Tabelle den Namen. Das würde alle Daten in die neue Tabelle.
Hinweis: Braucht viel Zeit, je nach die Größe der Tabelle
Ich habe gerade verwendet das python-Skript, dynamodb-kopieren-Tabelle, dafür, dass meine Anmeldeinformationen wurden in einigen Umgebungsvariablen (
AWS_ACCESS_KEY_ID
undAWS_SECRET_ACCESS_KEY
), und es funktionierte einwandfrei. Sie selbst erstellt die Zieltabelle für mich.python dynamodb-copy-table.py src_table dst_table
Die Standard-region ist
us-west-2
ändern Sie es mit derAWS_DEFAULT_REGION
env variable.Am 29 November 2017 Globale Tabellen eingeführt wurde. Dies kann sinnvoll sein, je nach Anwendungsfall, die möglicherweise nicht die gleiche wie die ursprüngliche Frage. Hier sind ein paar Ausschnitte aus dem blog-post: