Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden einer benutzerdefinierten Implementierung in .NET oder Java mitAWS SDKs
Anstatt sich beim kontenübergreifenden Kopieren von Tabellen auf andereAWS Dienste zu verlassen, können Sie mithilfe von.NET, Java, Python oder einer anderen unterstützten Programmiersprache eine benutzerdefinierte Lösung erstellen. AWSbietet SDKs, die den programmatischen Zugriff aufAWS Dienste oder APIs ermöglichen, in mehreren Sprachen. Diese Lösung erfordert praktische Entwicklungserfahrung in der Sprache, die Sie verwenden.
Sie können eine Konsolen-App (oder einen neuen API-Endpunkt, wenn Sie an einer Web-API arbeiten) erstellen, die aufgerufen werden kann, um eine vollständige Tabelle zu kopieren. Die benutzerdefinierte Lösung sollte die folgenden Schritte ausführen:
Löschen Sie die DynamoDB-Tabelle im Zielkonto.
Erstellen Sie die DynamoDB-Tabelle (mit Kapazität auf Abruf) und Indizes im Zielkonto. Alternativ können Sie den Modus für bereitgestellte Kapazität verwenden und die RCUs und WCUs an Ihre Bedürfnisse anpassen.
Kopieren Sie Daten vom Quellkonto in das Zielkonto, indem Sie den DynamoDB-Batch-Schreibvorgang imAWS SDK verwenden, um die Anzahl der Serviceaufrufe an DynamoDB zu reduzieren.
Diese Lösung eignet sich am besten für DynamoDB-Tabellen, die klein sind (weniger als 500 MB).
Für eine DynamoDB-Tabelle mit 200.000 Elementen (durchschnittliche Artikelgröße 30 KB und Tabellengröße 250 MB) dauert diese Lösung, einschließlich Tabellenerstellung und Datenfüllung, etwa 5 Minuten:
Kapazitätsmodus — Bereitgestellt, mit 4000 RCUs und 4000 WCUs
Verbrauchte Kapazitätseinheiten — 30.000 RCUs und ca. 400.000 WCUs
Vorteile
Die Lösung ist von keinem anderenAWS Dienst als DynamoDB abhängig, sodass der Wartungsaufwand geringer ist.
Die Lösung kann serverlos gemacht werden, indem eineAWS Lambda Funktion zum Ausführen verwendet wird. Die Laufzeit muss jedoch 15 Minuten oder weniger betragen.
Nachteile
Die Lösung verbraucht mehr RCUs und WCUs.
Dies ist möglicherweise keine gute Lösung für große Datensätze, da die Lösung aktive Verbindungen mit zwei verschiedenen DynamoDB-Tabellen in zwei verschiedenen Konten erfordert (unter Verwendung von zwei verschiedenen Sicherheitstoken). Wenn die Tabellenkopie für einen großen Datensatz lange dauert, kann es zu Verbindungsunterbrechungen oder zum Ablauf des Sicherheitstokens kommen. Daher müssen Sie Logik implementieren, um mit diesen Möglichkeiten umzugehen. Sie müssen auch Logik implementieren, um den Kopiervorgang an der Stelle fortzusetzen, an der er fehlgeschlagen ist.
Weitere Informationen finden Sie unter Amazon DynamoDB-Tabellen mithilfe eines benutzerdefinierten Implementierungsmusters zwischen Konten kopieren.