Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Anfordern eines Tabellenexports in DynamoDB

Fokusmodus
Anfordern eines Tabellenexports in DynamoDB - Amazon-DynamoDB

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.

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.

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 Dienste 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 Recovery (PITR) -Fensters in Ihren Amazon S3 S3-Bucket exportieren.

  • Mit inkrementellen Exporten können Sie Daten aus Ihrer DynamoDB-Tabelle, die zwischen einem bestimmten Zeitraum innerhalb Ihres PITR Fensters geändert, aktualisiert oder gelöscht wurden, in Ihren Amazon S3 S3-Bucket exportieren.

Voraussetzungen

PITR aktivieren

Um die Funktion „Nach S3 exportieren“ verwenden zu können, müssen Sie sie in Ihrer Tabelle aktivierenPITR. Einzelheiten zur Aktivierung finden Sie PITR unter oint-in-timeP-Wiederherstellung. Wenn Sie einen Export für eine Tabelle anfordern, für die diese Option nicht PITR aktiviert ist, schlägt Ihre Anfrage fehl und es wird eine Ausnahmemeldung angezeigt: „Beim Aufrufen der ExportTableToPointInTime Operation ist ein Fehler aufgetreten (PointInTimeRecoveryUnavailableException): Die Point-in-Time-Wiederherstellung ist für die Tabelle 'nicht aktiviertmy-dynamodb-table“.

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 (dynamodb:ExportTableToPointInTime) auszuführen. 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 den Sie exportieren, mit vom Kunden verwalteten Schlüsseln verschlüsselt ist, müssen die Richtlinien dieses KMS Schlüssels DynamoDB die Erlaubnis geben, ihn zu verwenden. Diese Berechtigung wird über den IAM Benutzer/die Rolle erteilt, die den Exportauftrag auslöst. Weitere Informationen zur Verschlüsselung, einschließlich bewährter Methoden, finden Sie unter Verwendung AWS KMS und Verwendung eines benutzerdefinierten KMS Schlüssels durch DynamoDB.

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 Wiederherstellung aktiviert point-in-time 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
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die DynamoDB-Konsole unter. https://console.aws.amazon.com/dynamodb/

  2. Klicken Sie im Navigationsbereich links in der Konsole auf Exports to S3 (Exporte nach S3).

  3. Wählen Sie die Schaltfläche Nach S3 exportieren.

  4. 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. Andernfalls geben Sie mithilfe URL des Ordners prefix ist ein optionaler Bucket s3://bucketname/prefix format. den des Buckets ein, damit Ihr Ziel-Bucket besser organisiert ist.

  5. 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 so komprimiert, dass sie nur den endgültigen Zustand des Artikels aus dem Exportzeitraum enthält. Das Element wird nur einmal im Export angezeigt, auch wenn es innerhalb desselben Exportzeitraums mehrfach aktualisiert wurde.

    Full export
    1. Wählen Sie den Zeitpunkt aus, ab dem Sie den vollständigen Tabellen-Snapshot exportieren möchten. Dies kann ein beliebiger Zeitpunkt innerhalb des PITR Fensters sein. Alternativ können Sie Aktuelle Zeit auswählen, um den neuesten Snapshot zu exportieren.

    2. Wählen Sie für das exportierte Dateiformat zwischen DynamoDB JSON und Amazon Ion. Standardmäßig wird Ihre Tabelle ab dem letzten wiederherstellbaren Zeitpunkt im Point-in-Time-Wiederherstellungsfenster im JSON DynamoDB-Format exportiert und mit einem Amazon S3 S3-Schlüssel (SSE-S3) verschlüsselt. Sie können diese Exporteinstellungen bei Bedarf ändern.

      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.

    Incremental export
    1. Wählen Sie den Exportzeitraum aus, für den Sie die inkrementellen Daten exportieren möchten. Wählen Sie im PITR Fenster eine Startzeit aus. Die Dauer des Exportzeitraums muss mindestens 15 Minuten betragen und darf nicht länger als 24 Stunden sein. Die Startzeit ist im Exportzeitraums enthalten, die Endzeit nicht.

    2. Wählen Sie zwischen dem Absoluten Modus oder dem Relativen Modus.

      1. Im Absoluten Modus werden inkrementelle Daten für den von Ihnen angegebenen Zeitraum exportiert.

      2. Im Relativen Modus werden inkrementelle Daten für einen Exportzeitraum exportiert, der sich auf die Übermittlungszeit Ihres Exportauftrags bezieht.

    3. Wählen Sie für das exportierte Dateiformat zwischen DynamoDB JSON und Amazon Ion. Standardmäßig wird Ihre Tabelle ab dem letzten wiederherstellbaren Zeitpunkt im Point-in-Time-Wiederherstellungsfenster im JSON DynamoDB-Format exportiert und mit einem Amazon S3 S3-Schlüssel (SSE-S3) verschlüsselt. Sie können diese Exporteinstellungen bei Bedarf ändern.

      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.

    4. Wählen Sie für den Exportansichtstyp entweder Neue und alte Bilder oder Nur neue Bilder aus. Neues Bild zeigt den aktuellen Status des Elements Altes Bild zeigt den Status des Elements unmittelbar vor dem angegebenen Startdatum und der angegebenen Startzeit Die Standardeinstellung ist Neue und alte Bilder. Weitere Informationen zu neuen und alten Bildern finden Sie unter Inkrementelle Exportausgabe.

    1. Wählen Sie den Zeitpunkt aus, ab dem Sie den vollständigen Tabellen-Snapshot exportieren möchten. Dies kann ein beliebiger Zeitpunkt innerhalb des PITR Fensters sein. Alternativ können Sie Aktuelle Zeit auswählen, um den neuesten Snapshot zu exportieren.

    2. Wählen Sie für das exportierte Dateiformat zwischen DynamoDB JSON und Amazon Ion. Standardmäßig wird Ihre Tabelle ab dem letzten wiederherstellbaren Zeitpunkt im Point-in-Time-Wiederherstellungsfenster im JSON DynamoDB-Format exportiert und mit einem Amazon S3 S3-Schlüssel (SSE-S3) verschlüsselt. Sie können diese Exporteinstellungen bei Bedarf ändern.

      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.

  6. 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, wird die verbleibende Transaktion in Ihrem nächsten zusammenhängenden Export ohne Duplikate angezeigt. 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 der 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 die Aufgabe ARN 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 mithilfe von eine vorhandene Tabelle mit dem MusicCollection Namen in einen S3-Bucket namens exportieren könnenddb-export-musiccollection. AWS CLI

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
Full export

Der folgende Befehl exportiert den MusicCollection in einen S3 Bucket namens ddb-export-musiccollection-9012345678 mit dem Präfix 2020-Nov. Tabellendaten werden ab einem bestimmten Zeitpunkt innerhalb des Point-in-Time-Wiederherstellungsfensters im JSON DynamoDB-Format exportiert und mit einem Amazon S3 S3-Schlüssel (SSE-S3) verschlüsselt.

Anmerkung

Wenn Sie einen kontenübergreifenden Tabellenexport anfordern, stellen Sie sicher, dass Sie die Option --s3-bucket-owner einfügen.

aws dynamodb export-table-to-point-in-time \ --table-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection \ --s3-bucket ddb-export-musiccollection-9012345678 \ --s3-prefix 2020-Nov \ --export-format DYNAMODB_JSON \ --export-time 1604632434 \ --s3-bucket-owner 9012345678 \ --s3-sse-algorithm AES256
Incremental export

Der folgende Befehl führt einen inkrementellen Export durch, indem er einen neuen --export-type und eine neue --incremental-export-specification angibt. Ersetzen Sie alles, was kursiv geschrieben ist, durch Ihre eigenen Werte. Die Zeiten werden als Sekunden seit der Epoche angegeben.

aws dynamodb export-table-to-point-in-time \ --table-arn arn:aws:dynamodb:REGION:ACCOUNT:table/TABLENAME \ --s3-bucket BUCKET --s3-prefix PREFIX \ --incremental-export-specification ExportFromTime=1693569600,ExportToTime=1693656000,ExportViewType=NEW_AND_OLD_IMAGES \ --export-type INCREMENTAL_EXPORT

Der folgende Befehl exportiert den MusicCollection in einen S3 Bucket namens ddb-export-musiccollection-9012345678 mit dem Präfix 2020-Nov. Tabellendaten werden ab einem bestimmten Zeitpunkt innerhalb des Point-in-Time-Wiederherstellungsfensters im JSON DynamoDB-Format exportiert und mit einem Amazon S3 S3-Schlüssel (SSE-S3) verschlüsselt.

Anmerkung

Wenn Sie einen kontenübergreifenden Tabellenexport anfordern, stellen Sie sicher, dass Sie die Option --s3-bucket-owner einfügen.

aws dynamodb export-table-to-point-in-time \ --table-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection \ --s3-bucket ddb-export-musiccollection-9012345678 \ --s3-prefix 2020-Nov \ --export-format DYNAMODB_JSON \ --export-time 1604632434 \ --s3-bucket-owner 9012345678 \ --s3-sse-algorithm AES256
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 Ziel-S3-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 „FAILEDmit 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

Beantragen eines Exports mit dem AWS SDK

Verwenden Sie diese Codefragmente, um einen Tabellenexport mit dem AWS SDK Ihrer Wahl anzufordern.

Python

Vollständiger Export

import boto3 from datetime import datetime # remove endpoint_url for real use client = boto3.client('dynamodb') # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/export_table_to_point_in_time.html client.export_table_to_point_in_time( TableArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE', ExportTime=datetime(2023, 9, 20, 12, 0, 0), S3Bucket='bucket', S3Prefix='prefix', S3SseAlgorithm='AES256', ExportFormat='DYNAMODB_JSON' )

Inkrementeller Export

import boto3 from datetime import datetime client = boto3.client('dynamodb') client.export_table_to_point_in_time( TableArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE', IncrementalExportSpecification={ 'ExportFromTime': datetime(2023, 9, 20, 12, 0, 0), 'ExportToTime': datetime(2023, 9, 20, 13, 0, 0), 'ExportViewType': 'NEW_AND_OLD_IMAGES' }, ExportType='INCREMENTAL_EXPORT', S3Bucket='bucket', S3Prefix='prefix', S3SseAlgorithm='AES256', ExportFormat='DYNAMODB_JSON' )

Vollständiger Export

import boto3 from datetime import datetime # remove endpoint_url for real use client = boto3.client('dynamodb') # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/export_table_to_point_in_time.html client.export_table_to_point_in_time( TableArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE', ExportTime=datetime(2023, 9, 20, 12, 0, 0), S3Bucket='bucket', S3Prefix='prefix', S3SseAlgorithm='AES256', ExportFormat='DYNAMODB_JSON' )

Inkrementeller Export

import boto3 from datetime import datetime client = boto3.client('dynamodb') client.export_table_to_point_in_time( TableArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE', IncrementalExportSpecification={ 'ExportFromTime': datetime(2023, 9, 20, 12, 0, 0), 'ExportToTime': datetime(2023, 9, 20, 13, 0, 0), 'ExportViewType': 'NEW_AND_OLD_IMAGES' }, ExportType='INCREMENTAL_EXPORT', S3Bucket='bucket', S3Prefix='prefix', S3SseAlgorithm='AES256', ExportFormat='DYNAMODB_JSON' )

Details zu vergangenen Exporten abrufen mit dem AWS SDK

Verwenden Sie diese Codefragmente, um Details zu früheren Tabellenexporten mithilfe AWS SDK der Datei Ihrer Wahl abzurufen.

Python

Liste

import boto3 client = boto3.client('dynamodb') # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/list_exports.html print( client.list_exports( TableArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE', ) )

Beschreiben

import boto3 client = boto3.client('dynamodb') # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/describe_export.html print( client.describe_export( ExportArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE/export/01695353076000-06e2188f', )['ExportDescription'] )

Liste

import boto3 client = boto3.client('dynamodb') # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/list_exports.html print( client.list_exports( TableArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE', ) )

Beschreiben

import boto3 client = boto3.client('dynamodb') # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/client/describe_export.html print( client.describe_export( ExportArn='arn:aws:dynamodb:us-east-1:0123456789:table/TABLE/export/01695353076000-06e2188f', )['ExportDescription'] )
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.