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 Management Console, der oder der AWS CLI DynamoDB-API anfordern.
Anmerkung
Der Antragsteller zahlt, dass Amazon S3 S3-Buckets nicht unterstützt werden.
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
PITR aktivieren
Um die Funktion „Nach S3 exportieren“ verwenden zu können, müssen Sie PITR für Ihre Tabelle aktivieren. 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 nur ab einem Zeitpunkt anfordern und exportieren, der innerhalb Ihrer konfigurierten RecoveryPeriodInDays
PITR liegt.
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:AbortMultipartUpload
s3:PutObject
, unds3:PutObjectAcl
) und die DynamoDB-Exportaktion () auszuführen. dynamodb:ExportTableToPointInTime
Hier ist ein Beispiel für eine Beispielrichtlinie, die Ihren Benutzern Berechtigungen zum Ausführen von Exporten in einen S3-Bucket gewährt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDynamoDBExportAction", "Effect": "Allow", "Action": "dynamodb:ExportTableToPointInTime", "Resource": "arn:aws:dynamodb:us-east-1:111122223333:table/my-table" }, { "Sid": "amzn-s3-demo-bucket-AllowWrites", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::your-bucket/*" } ] }
Wenn Sie in einen Amazon S3 S3-Bucket schreiben müssen, der sich in einem anderen Konto befindet, oder wenn Sie keine Schreibberechtigungen haben, muss der Besitzer des Amazon S3 S3-Buckets eine Bucket-Richtlinie hinzufügen, damit Sie aus DynamoDB in diesen Bucket exportieren können. Hier ist eine Beispielrichtlinie für den Amazon S3 S3-Ziel-Bucket.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleStatement", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Dave" }, "Action": [ "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
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 durch den IAM-Benutzer/die IAM-Rolle erteilt, der/die den Exportauftrag 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 Management Console
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 Management Console 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
/prefix
format.prefix
ist 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.
-
Wählen Sie Exportieren, um zu beginnen.
Exportierte Daten sind nicht transaktionskonsistent. Ihre Transaktionsvorgänge können zwischen zwei Exportausgaben hin- und hergerissen werden. Eine Teilmenge von Artikeln kann durch einen Transaktionsvorgang geändert werden, der sich im Export widerspiegelt, während eine andere Teilmenge von Änderungen in derselben Transaktion nicht in derselben Exportanfrage widergespiegelt wird. Die Exporte sind jedoch letztendlich konsistent. Wenn eine Transaktion während eines Exports unterbrochen wird, haben Sie die verbleibende Transaktion in Ihrem nächsten zusammenhängenden Export 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 Management Console
Informationen zu Exportaufgaben, die Sie in der Vergangenheit ausgeführt haben, finden Sie, indem Sie in der Navigationsleiste den Abschnitt Exporte nach S3 auswählen. Dieser Abschnitt enthält eine Liste aller Exporte, die Sie in den letzten 90 Tagen erstellt haben. Wählen Sie den ARN einer Aufgabe aus, die auf der Registerkarte Exporte aufgeführt ist, um Informationen zu diesem Export abzurufen, einschließlich aller von Ihnen ausgewählten erweiterten Konfigurationseinstellungen. 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.
Details 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 zuCOMPLETED
. Wenn sie fehlschlagen, ändert sich der Status zu „FAILED
mit einem failure_message
undfailure_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.