Exportieren von Daten aus einem/einer RDS for PostgreSQL-DB-Instance zu Amazon S3 - Amazon Relational Database Service

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.

Exportieren von Daten aus einem/einer RDS for PostgreSQL-DB-Instance zu Amazon S3

Sie können Daten aus einer DB-Instance von RDS für PostgreSQL abfragen und direkt in Dateien exportieren, die in einem Amazon-S3-Bucket gespeichert sind. Dazu installieren Sie zuerst die Erweiterung von RDS für PostgreSQL aws_s3. Diese Erweiterung stellt die Funktionen bereit, die Sie zum Exportieren von Abfrageergebnissen nach Amazon S3 verwenden. Im Folgenden erfahren Sie, wie Sie die Erweiterung installieren und Daten nach Amazon S3 exportieren.

Anmerkung

Kontoübergreifender Export nach Amazon S3 wird nicht unterstützt.

Alle derzeit verfügbaren Versionen von RDS für PostgreSQL unterstützen den Export von Daten nach Amazon Simple Storage Service. Ausführliche Versionsinformationen finden Sie unter Aktualisierungen von Amazon RDS für PostgreSQL im Abschnitt Versionshinweise für Amazon RDS für PostgreSQL.

Wenn Sie keinen Bucket für Ihren Export eingerichtet haben, lesen Sie die folgenden Themen im Benutzerhandbuch von Amazon Simple Storage Service.

Standardmäßig verwenden die von RDS for PostgreSQL nach Amazon S3 exportierten Daten serverseitige Verschlüsselung mit einem. Von AWS verwalteter Schlüssel Wenn Sie die Bucket-Verschlüsselung verwenden, muss der Amazon S3 S3-Bucket mit einem AWS Key Management Service (AWS KMS) -Schlüssel (SSE-KMS) verschlüsselt werden. Derzeit werden Buckets, die mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3) verschlüsselt sind, nicht unterstützt.

Anmerkung

Sie können DB-Snapshot-Daten mit der AWS Management Console AWS CLI, oder Amazon RDS-API in Amazon S3 speichern. Weitere Informationen finden Sie unter Exportieren von DB-Snapshot-Daten nach Amazon S3 für Amazon RDS.

Installieren der Erweiterung aws_s3

Bevor Sie Amazon Simple Storage Service mit Ihrer DB-Instance von RDS für PostgreSQL verwenden können, müssen Sie die Erweiterung aws_s3 installieren. Diese Erweiterung bietet Funktionen zum Exportieren von Daten aus einer DB-Instance von RDS für PostgreSQL in einen Amazon-S3-Bucket Sie stellt außerdem Funktionen zum Importieren von Daten aus Amazon S3 bereit. Weitere Informationen finden Sie unter Importieren von Amazon S3 in eine DB-Instance von RDS für PostgreSQL. Die Erweiterung aws_s3 hängt von einigen Hilfsfunktionen in der Erweiterung aws_commons ab, die bei Bedarf automatisch installiert wird.

So installieren Sie die Erweiterung aws_s3
  1. Verwenden Sie psql (oder pgAdmin), um eine Verbindung mit der DB-Instance von RDS für PostgreSQL als Benutzer mit rds_superuser-Berechtigungen herzustellen. Wenn Sie beim Einrichten den Standardnamen beibehalten haben, stellen Sie eine Verbindung als postgres her.

    psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
  2. Führen Sie den folgenden Befehl aus, um die Erweiterung zu installieren.

    postgres=> CREATE EXTENSION aws_s3 CASCADE; NOTICE: installing required extension "aws_commons" CREATE EXTENSION
  3. Wenn Sie überprüfen möchten, ob die Erweiterung installiert wurde, können Sie psql-Metabefehl \dx verwenden.

    postgres=> \dx List of installed extensions Name | Version | Schema | Description -------------+---------+------------+--------------------------------------------- aws_commons | 1.2 | public | Common data types across AWS services aws_s3 | 1.1 | public | AWS S3 extension for importing data from S3 plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (3 rows)

Die Funktionen zum Importieren von Daten aus Amazon S3 und Exportieren von Daten nach Amazon S3 sind jetzt verfügbar.

Überprüfen, ob Ihre Version von RDS für PostgreSQL Exporte nach Amazon S3 unterstützt

Sie können überprüfen, ob Ihre Version von RDS für PostgreSQL den Export nach Amazon S3 unterstützt, indem Sie den Befehl describe-db-engine-versions verwenden. Im folgenden Beispiel wird die Unterstützung für Version 10.14 überprüft.

aws rds describe-db-engine-versions --region us-east-1 --engine postgres --engine-version 10.14 | grep s3Export

Wenn die Ausgabe die Zeichenfolge "s3Export" enthält, unterstützt die Engine Amazon S3-Exporte. Ansonsten unterstützt die Engine sie nicht.

Übersicht über das Exportieren von Daten zu Amazon S3

Verwenden Sie das folgende Verfahren, um in einer Datenbank gespeicherte Daten in einen Amazon S3 Bucket zu exportieren.

So exportieren Sie Daten nach S3
  1. Identifizieren Sie einen Amazon S3-Dateipfad, der zum Exportieren von Daten verwendet werden soll. Weitere Informationen zu diesem Prozess finden Sie unter Angeben des Amazon S3-Dateipfads für den Export.

  2. Erteilen Sie die Berechtigung für den Zugriff auf den Amazon S3-Bucket.

    Um Daten in eine Amazon S3-Datei zu exportieren, erteilen Sie dem/der RDS for PostgreSQL-DB-Instance die Berechtigung, auf den Amazon S3-Bucket zuzugreifen, den der Export für die Speicherung verwendet. Dazu gehören die folgenden Schritte:

    1. Erstellen Sie eine IAM-Richtlinie, die Zugriff auf einen Amazon S3-Bucket bietet, in den Sie exportieren möchten.

    2. Erstellen Sie eine IAM-Rolle.

    3. Fügen Sie die erstellte Richtlinie an die erstellte Rolle an.

    4. Fügen Sie diese IAM-Rolle zu Ihrem Ihrer DB-Instance hinzu.

    Weitere Informationen zu diesem Prozess finden Sie unter Einrichten des Zugriffs auf einen Amazon S3-Bucket.

  3. Identifizieren Sie eine Datenbankabfrage, um die Daten abzurufen. Exportieren Sie die Abfragedaten, indem Sie die Funktion aws_s3.query_export_to_s3 aufrufen.

    Nachdem Sie die vorangegangenen Vorbereitungsaufgaben abgeschlossen haben, verwenden Sie die aws_s3.query_export_to_s3-Funktion, um Abfrageergebnisse in Amazon S3 zu exportieren. Weitere Informationen zu diesem Prozess finden Sie unter Exportieren von Abfragedaten mithilfe der Funktion aws_s3.query_export_to_s3.

Angeben des Amazon S3-Dateipfads für den Export

Geben Sie die folgenden Informationen an, um den Speicherort in Amazon S3 zu identifizieren, in den Sie Daten exportieren möchten:

  • Bucket-Name – Ein Bucket ist ein Container für Amazon S3-Objekte oder -Dateien.

    Weitere Informationen zum Speichern von Daten mit Amazon S3 finden Sie unter Erstellen eines Buckets und Arbeiten mit Objekten im Amazon Simple Storage Service-Benutzerhandbuch.

  • Dateipfad – Der Dateipfad gibt an, wo der Export im Amazon S3-Bucket gespeichert wird. Der Dateipfad besteht aus Folgendem:

    • Ein optionales Pfadpräfix, das einen Pfad für virtuelle Ordner identifiziert.

    • Ein Dateipräfix, das eine oder mehrere Dateien identifiziert, die gespeichert werden sollen. Größere Exporte werden in mehreren Dateien gespeichert, jeweils mit einer maximalen Größe von ca. 6 GB. Die zusätzlichen Dateinamen haben das gleiche Dateipräfix, aber mit _partXX angefügt. XX stellt 2, dann 3 usw. dar.

    Beispielsweise ist ein Dateipfad mit einem exports-Ordner und einem query-1-export-Dateipräfix /exports/query-1-export.

  • AWS Region (optional) — Die AWS Region, in der sich der Amazon S3 S3-Bucket befindet. Wenn Sie keinen AWS Regionswert angeben, speichert Amazon RDS Ihre Dateien in Amazon S3 in derselben AWS Region wie die exportierende .

    Anmerkung

    Derzeit muss die AWS Region mit der Region der exportierenden identisch sein.

    Eine Liste der AWS Regionsnamen und der zugehörigen Werte finden Sie unterRegionen, Availability Zones und Local Zones.

Um die Amazon S3-Dateiinformationen darüber zu speichern, wo der Export gespeichert werden soll, können Sie die aws_commons.create_s3_uri-Funktion verwenden, um eine zusammengesetzte aws_commons._s3_uri_1-Struktur wie folgt zu erstellen.

psql=> SELECT aws_commons.create_s3_uri( 'amzn-s3-demo-bucket', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset

Sie geben diesen s3_uri_1-Wert später als Parameter im Aufruf der aws_s3.query_export_to_s3-Funktion an. Beispiele finden Sie unter Exportieren von Abfragedaten mithilfe der Funktion aws_s3.query_export_to_s3.