Exportieren von Daten aus einem Aurora SQL Postgre-DB-Cluster RDS S3 - Amazon Aurora

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 Aurora SQL Postgre-DB-Cluster RDS S3

Sie können Daten aus einem Aurora SQL Postgre-DB-Cluster RDS für eine SQL Postgre-DB-Instance und sie direkt in Dateien exportieren, die in einem Amazon S3 S3-Bucket gespeichert sind. Dazu installieren Sie zunächst die Erweiterung Aurora Postgre SQL RDS 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.

Sie können aus einer bereitgestellten oder einer Aurora Serverless v2 DB-Instance. Diese Schritte werden nicht unterstützt für Aurora Serverless v1.

Anmerkung

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

Alle derzeit verfügbaren Versionen von Aurora Postgre SQL unterstützen den Export von Daten nach Amazon Simple Storage Service. Detaillierte Versionsinformationen finden Sie unter Amazon Aurora SQL Postgre-Updates in den Versionshinweisen für Aurora SQL Postgre.

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 Aurora Postgre SQL nach Amazon S3 exportierten Daten serverseitige Verschlüsselung mit. Von AWS verwalteter Schlüssel Sie können alternativ den vom Kunden verwalteten Schlüssel verwenden, den Sie bereits erstellt haben. Wenn Sie die Bucket-Verschlüsselung verwenden, muss der Amazon S3 S3-Bucket mit dem Schlüssel AWS Key Management Service (AWS KMS) (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- und DB-Cluster-Snapshot-Daten mit Amazon AWS Management Console AWS CLI, oder Amazon in Amazon S3 speichern RDSAPI. Weitere Informationen finden Sie unter Exportieren von DB-Cluster-Snapshot-Daten nach Amazon S3.

Installieren der Erweiterung aws_s3

Bevor Sie Amazon Simple Storage Service mit Ihrem Aurora SQL Postgre-DB-Cluster RDS müssen Sie die aws_s3 Erweiterung installieren. Diese Erweiterung bietet Funktionen für den Export von Daten aus der Writer-Instance eines Aurora SQL Postgre-DB-Clusters und in einen Amazon S3 S3-Bucket. Sie stellt außerdem Funktionen zum Importieren von Daten aus Amazon S3 bereit. Weitere Informationen finden Sie unter Daten aus Amazon S3 in einen Aurora SQL Postgre-DB-Cluster importieren. 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 (oderpgAdmin), um als Benutzer mit Rechten eine Verbindung zur Writer-Instance Ihres Aurora SQL Postgre-DB-Clusters RDS herzustellen. rds_superuser 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.

Stellen Sie sicher, dass Ihre SQL Aurora Postgre Exporte nach Amazon S3 unterstützt.

Mit dem describe-db-engine-versions Befehl können Sie überprüfen, ob Ihre Aurora SQL Postgre-Version den Export nach Amazon S3 unterstützt. Im folgenden Beispiel wird überprüft, ob Version 10.14 nach Amazon S3 exportieren kann.

aws rds describe-db-engine-versions --region us-east-1 \ --engine aurora-postgresql --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

Gehen Sie wie folgt vor, um in einer Aurora Postgre SQL RDS gespeicherte Daten in einen Amazon S3 S3-Bucket zu exportieren.

So exportieren Sie Aurora Postgre SQL RDS 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 S3-Datei zu exportieren, erteilen Sie dem Aurora SQL Postgre-DB-Cluster RDS die Erlaubnis, auf den Amazon S3 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 S3-Bucket gewährt, 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 DB-Cluster Ihrer 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 Anzeigen eines Objekts 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, RDS speichert Aurora 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 und Availability 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.