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 Aurora PostgreSQL-DB-Cluster zu Amazon S3
Sie können Daten aus einem Aurora-PostgreSQL-DB-Cluster abfragen und direkt in Dateien exportieren, die in einem Amazon-S3-Bucket gespeichert sind. Dazu installieren Sie zuerst die Erweiterung von Aurora 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.
Sie können aus einem bereitgestellten oder einem 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 Aurora-PostgreSQL-Versionen unterstützen den Export von Daten nach Amazon Simple Storage Service. Ausführliche Versionsinformationen finden Sie unter Aktualisierungen von Amazon Aurora PostgreSQL im Abschnitt Versionshinweise für Aurora 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 Aurora PostgreSQL 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 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- und DB-Cluster-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-Cluster-Snapshot-Daten nach Amazon S3.
Installieren der Erweiterung aws_s3
Bevor Sie Amazon Simple Storage Service mit Ihrem DB-Cluster voon Aurora PostgreSQL verwenden können, müssen Sie die Erweiterung aws_s3
installieren. Diese Erweiterung bietet Funktionen zum Exportieren von Daten aus der Writer-Instance eines DB-Clusters von Aurora 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 einen Aurora-PostgreSQL-DB-Cluster. 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
Verwenden Sie psql (oder pgAdmin), um eine Verbindung mit der Writer-Instance Ihres DB-Clusters von Aurora PostgreSQL als Benutzer mit
rds_superuser
-Berechtigungen herzustellen. Wenn Sie beim Einrichten den Standardnamen beibehalten haben, stellen Sie eine Verbindung alspostgres
her.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordFü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
Wenn Sie überprüfen möchten, ob die Erweiterung installiert wurde, können Sie psql-Metabefehl
\dx
verwenden.postgres=>
\dxList 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 Aurora PostgreSQL Exporte nach Amazon S3 unterstützt
Sie können überprüfen, ob Ihre Version von Aurora PostgreSQL den Export nach Amazon S3 unterstützt, indem Sie den Befehl describe-db-engine-versions
verwenden. 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
Verwenden Sie das folgende Verfahren, um in einer Aurora PostgreSQL Datenbank gespeicherte Daten in einen Amazon S3 Bucket zu exportieren.
So exportieren Sie Aurora PostgreSQL Daten nach S3
-
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.
-
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 Aurora PostgreSQL-DB-Cluster die Berechtigung, auf den Amazon S3-Bucket zuzugreifen, den der Export für die Speicherung verwendet. Dazu gehören die folgenden Schritte:
-
Erstellen Sie eine IAM-Richtlinie, die Zugriff auf einen Amazon S3-Bucket bietet, in den Sie exportieren möchten.
-
Erstellen Sie eine IAM-Rolle.
-
Fügen Sie die erstellte Richtlinie an die erstellte Rolle an.
-
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.
-
-
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
_part
angefügt.XX
stellt 2, dann 3 usw. dar.XX
Beispielsweise ist ein Dateipfad mit einem
exports
-Ordner und einemquery-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 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.