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.
Anfordern eines Tabellenexports in DynamoDB
DynamoDB-Tabellenexporte ermöglichen es Ihnen, Tabellendaten in einen Amazon S3 S3-Bucket zu exportieren, sodass Sie Analysen und komplexe Abfragen Ihrer Daten mithilfe anderer AWS Services wie Athena, Amazon SageMaker AI AWS Glue, Amazon EMR und durchführen können. AWS Lake Formation Sie können einen Tabellenexport mit der AWS-Managementkonsole, der oder der AWS CLI DynamoDB-API anfordern.
Anmerkung
Zahlung durch den Anforderer ist für Amazon-S3-Buckets nicht unterstützt.
DynamoDB unterstützt sowohl den vollständigen Export als auch den inkrementellen Export:
-
Mit vollständigen Exporten können Sie einen vollständigen Snapshot Ihrer Tabelle von einem beliebigen Zeitpunkt innerhalb des point-in-time Wiederherstellungsfensters (PITR) in Ihren Amazon S3 S3-Bucket exportieren.
-
Mit inkrementellen Exporten können Sie Daten aus Ihrer DynamoDB-Tabelle, die zwischen einem bestimmten Zeitraum geändert, aktualisiert oder gelöscht wurden, innerhalb Ihres PITR-Fensters in Ihren Amazon-S3-Bucket exportieren.
Themen
Voraussetzungen
Aktivieren von PITR
PITR muss in Ihrer Tabelle aktiviert sein, um die Funktion zum Exportieren nach S3 verwenden zu können. Einzelheiten zur Aktivierung von PITR finden Sie unter oint-in-timeP-Wiederherstellung. Wenn Sie einen Export für eine Tabelle anfordern, für die PITR nicht aktiviert ist, schlägt Ihre Anfrage fehl und es wird eine Ausnahmemeldung angezeigt: „Beim Aufrufen des ExportTableToPointInTime Vorgangs ist ein Fehler aufgetreten (PointInTimeRecoveryUnavailableException): Die Point-in-Time-Wiederherstellung ist für die Tabelle 'my-dynamodb-tablenicht aktiviert“. Sie können einen Export nur für einen Zeitpunkt innerhalb Ihrer konfigurierten PITR-RecoveryPeriodInDays anfordern.
Einrichten von S3-Berechtigungen
Sie können Ihre Tabellendaten in jeden Amazon S3-Bucket exportieren, in den Sie schreiben dürfen. Der Ziel-Bucket muss sich nicht in derselben AWS Region befinden oder denselben Besitzer haben wie der Besitzer der Quelltabelle. Ihre AWS Identity and Access Management (IAM-) Richtlinie muss es Ihnen ermöglichen, S3-Aktionen (s3:AbortMultipartUploads3:PutObject, unds3:PutObjectAcl) und die DynamoDB-Exportaktion () auszuführen. dynamodb:ExportTableToPointInTime Hier ein Beispiel für eine Beispielrichtlinie, die Ihren Benutzern Berechtigungen zum Ausführen von Exporten in einen S3-Bucket gewährt.
Wenn Sie in einen Amazon S3-Bucket schreiben müssen, der sich in einem anderen Konto befindet, oder wenn Sie keine Schreibberechtigungen haben, muss der Eigentümer des Amazon S3-Buckets eine Bucket-Richtlinie hinzufügen, damit Sie von DynamoDB in diesen Bucket exportieren können. Hier sehen Sie eine Beispielrichtlinie für den Amazon S3-Zielbucket.
Das Widerrufen dieser Berechtigungen während eines Exports führt zu Teildateien.
Anmerkung
Wenn die Tabelle oder der Bucket, in die/den Sie exportieren, mit vom Kunden verwalteten Schlüsseln verschlüsselt ist, müssen die Richtlinien dieses KMS-Schlüssels DynamoDB die Berechtigung zur Verwendung erteilen. Diese Berechtigung wird über das IAM erteilt, das den Exportauftrag User/Role auslöst. Weitere Informationen zur Verschlüsselung, einschließlich Best Practices, finden Sie unter So verwendet DynamoDB AWS KMS und Using a custom KMS key
Anfordern eines Exports mit der AWS-Managementkonsole
Das folgende Beispiel zeigt, wie Sie mit der DynamoDB-Konsole eine vorhandene Tabelle namens MusicCollection im Zustand eines bestimmten Zeitpunkts wiederherstellen.
Anmerkung
Bei diesem Verfahren wird davon ausgegangen, dass Sie die point-in-time Wiederherstellung aktiviert haben. Um es für die MusicCollection Tabelle zu aktivieren, wählen Sie auf der Registerkarte Übersicht der Tabelle im Abschnitt Tabellendetails die Option Für oint-in-timeP-Wiederherstellung aktivieren aus.
So fordern Sie einen Tabellenexport an
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die DynamoDB-Konsole unter. https://console.aws.amazon.com/dynamodb/
-
Klicken Sie im Navigationsbereich links in der Konsole auf Exports to S3 (Exporte nach S3).
-
Wählen Sie die Schaltfläche Nach S3 exportieren.
-
Wählen Sie eine Quelltabelle und den Ziel-S3-Bucket aus. Wenn der Ziel-Bucket Ihrem Konto gehört, können Sie die Schaltfläche Browse S3 (S3 durchsuchen) verwenden, um ihn zu finden. Geben Sie andernfalls die URL des Buckets ein und verwenden Sie dabei das
s3://bucketname/prefixformat.prefixist ein optionaler Ordner, um Ihren Ziel-Bucket organisiert zu halten. -
Wählen Sie Vollständiger Export oder Inkrementeller Export. Bei einem vollständigen Export wird der vollständige Tabellen-Snapshot Ihrer Tabelle so ausgegeben, wie er zu dem von Ihnen angegebenen Zeitpunkt war. Bei einem inkrementellen Export werden die Änderungen ausgegeben, die während des angegebenen Exportzeitraums an Ihrer Tabelle vorgenommen wurden. Ihre Ausgabe ist komprimiert, sodass sie nur den endgültigen Status des Elements aus dem Exportzeitraum enthält. Das Element wird nur einmal im Export angezeigt, auch wenn es innerhalb desselben Exportzeitraums mehrfach aktualisiert wurde.
-
Klicken Sie auf Exportieren, um den Vorgang zu beginnen.
Die exportierten Daten sind nicht transaktional konsistent. Ihre Transaktionsoperationen können zwischen zwei Exportausgaben aufgeteilt werden. Ein Teil der Elemente kann durch eine Transaktionsoperation geändert und im Export widergespiegelt werden, während ein anderer Teil der Änderungen derselben Transaktion im selben Exportauftrag nicht enthalten ist. Die Exporte sind jedoch letztendlich konsistent. Wenn eine Transaktion während eines Exports aufgeteilt wird, wird der verbleibende Teil der Transaktion im nächsten zusammenhängenden Export enthalten sein – ohne Duplikate. Die für Exporte verwendeten Zeiträume basieren auf einer internen Systemuhr und können um eine Minute von der lokalen Uhr Ihrer Anwendung abweichen.
Einzelheiten zu vergangenen Exporten finden Sie in AWS-Managementkonsole
Informationen zu früheren Exportaufträgen finden Sie im Navigationsbereich unter dem Abschnitt Exporte nach S3. Dieser Abschnitt enthält eine Liste aller Exporte, die Sie in den letzten 90 Tagen erstellt haben. Wählen Sie die ARN eines in der Registerkarte Exporte aufgeführten Auftrags aus, um Informationen zu diesem Export abzurufen, einschließlich aller erweiterten Konfigurationseinstellungen, die Sie gewählt haben. Beachten Sie, dass die Metadaten für die Exportaufgabe nach 90 Tagen ablaufen und Aufträge, die älter sind als diese, in dieser Liste nicht mehr gefunden werden, die Objekte in Ihrem S3 Bucket so lange bleiben, wie es ihre Bucket-Richtlinien zulassen. DynamoDB löscht nie eines der Objekte, die es während eines Exports in Ihrem S3 Bucket erstellt hat.
Anfordern eines Exports mit AWS CLI
Das folgende Beispiel zeigt, wie Sie mit dem AWS CLI eine vorhandene Tabelle mit dem MusicCollection Namen in einen S3-Bucket namens exportieren könnenddb-export-musiccollection.
Anmerkung
Bei diesem Verfahren wird davon ausgegangen, dass Sie die point-in-time Wiederherstellung aktiviert haben. Führen Sie den folgenden Befehl aus, um diese Funktion für die Tabelle MusicCollection zu aktivieren.
aws dynamodb update-continuous-backups \ --table-name MusicCollection \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True
Anmerkung
Wenn Sie Ihren Export mit einem durch AWS Key Management Service (AWS KMS) geschützten Schlüssel verschlüsseln möchten, muss sich der Schlüssel in derselben Region wie der S3-Ziel-Bucket befinden.
Einzelheiten zu vergangenen Exporten finden Sie in AWS CLI
Informationen zu Exportaufgaben, die Sie in der Vergangenheit ausgeführt haben, finden Sie mithilfe des list-exports-Befehls. Dieser Befehl gibt eine Liste aller Exporte zurück, die Sie in den letzten 90 Tagen erstellt haben. Beachten Sie, dass, obwohl die Metadaten der Exportaufgabe nach 90 Tagen ablaufen und Aufträge, die älter sind, nicht mehr vom list-exports Befehl zurückgegeben werden, die Objekte in Ihrem S3 Bucket so lange erhalten bleiben, wie es ihre Bucket-Richtlinien zulassen. DynamoDB löscht nie eines der Objekte, die es während eines Exports in Ihrem S3 Bucket erstellt hat.
Exporte haben den Status PENDING, bis sie entweder erfolgreich sind oder fehlschlagen. Wenn sie erfolgreich sind, ändert sich der Status zu COMPLETED. Wenn sie fehlschlagen, ändert sich der Status zu FAILED mit failure_message und failure_reason.
Im folgenden Beispiel verwenden wir den optionalen table-arn Parameter, um nur Exporte einer bestimmten Tabelle aufzulisten.
aws dynamodb list-exports \ --table-arn arn:aws:dynamodb:us-east-1:123456789012:table/ProductCatalog
Um detaillierte Informationen zu einer bestimmten Exportaufgabe, einschließlich erweiterter Konfigurationseinstellungen, abzurufen, verwenden Sie den describe-export-Befehl.
aws dynamodb describe-export \ --export-arn arn:aws:dynamodb:us-east-1:123456789012:table/ProductCatalog/export/01234567890123-a1b2c3d4
Anfordern eines Exports mit dem AWS -SDK
Verwenden Sie diese Codefragmente, um einen Tabellenexport mit dem AWS SDK Ihrer Wahl anzufordern.
Informationen zu früheren Exporten mithilfe des SDK abrufen AWS
Verwenden Sie diese Codefragmente, um Details zu früheren Tabellenexporten mit dem AWS SDK Ihrer Wahl abzurufen.