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.
Importieren von Daten aus Amazon S3 in Ihren Aurora PostgreSQL DB-Cluster
Sie importieren Daten aus Ihrem Amazon-S3-Bucket mithilfe der table_import_from_s3
-Funktion der aws_s3-Erweiterung. Referenz-Informationen finden Sie unter aws_s3.table_import_from_s3.
Anmerkung
Die folgenden Beispiele verwenden die IAM-Rollen-Methode, um den Zugriff auf den Amazon-S3-Bucket zu ermöglichen. Daher enthalten die aws_s3.table_import_from_s3
-Funktionsaufrufe keine Berechtigungsnachweisparameter.
Nachfolgend ist ein typisches Beispiel aufgeführt.
postgres=>
SELECT aws_s3.table_import_from_s3( 't1', '', '(format csv)', :'s3_uri' );
Es werden folgende Parameter verwendet:
-
t1
– Der Name für die Tabelle in der PostgreSQL DB Cluster, in die die Daten kopiert werden. -
''
– Eine optionale Liste mit Spalten in der Datenbanktabelle. Mithilfe dieses Parameters können Sie angeben, welche Spalten der S3-Daten in die Tabellenspalten übernommen werden sollen. Wenn keine Spalten angegeben sind, werden alle Spalten in die Tabelle kopiert. Ein Beispiel zum Verwenden einer Spaltenliste finden Sie unter Importieren einer Amazon S3-Datei, die ein benutzerdefiniertes Trennzeichen verwendet. -
(format csv)
– PostgreSQL COPY-Argumente. Der Kopiervorgang verwendet die Argumente und das Format des PostgreSQL-Befehls COPY, um die Daten zu importieren. Zu den Optionen für das Format gehören kommagetrennte Werte (CSV), Text und Binärwerte. Der Standard ist Text. -
s3_uri
– Eine Struktur mit den Informationen zum Identifizieren der Amazon S3-Datei. Ein Beispiel für die Verwendung der Funktion aws_commons.create_s3_uri zum Erstellen einers3_uri
-Struktur finden Sie unter Übersicht über den Import von Daten aus Amazon S3-Daten.
Weitere Informationen zu dieser Funktion finden Sie unter aws_s3.table_import_from_s3.
Die Funktion gibt aws_s3.table_import_from_s3
zurück. Weitere Informationen zum Angeben von anderen Dateien für den Import aus einem Amazon S3-Bucket finden Sie in einem der folgenden Beispiele.
Anmerkung
Beim Importieren einer Datei mit 0 Byte tritt ein Fehler auf.
Themen
Importieren einer Amazon S3-Datei, die ein benutzerdefiniertes Trennzeichen verwendet
Das folgende Beispiel zeigt, wie man eine Datei importiert, die ein benutzerdefiniertes Trennzeichen verwendet. Außerdem wird veranschaulicht, wie mit dem column_list
-Parameter der Funktion aws_s3.table_import_from_s3 kontrolliert wird, wo die Daten in der Datenbanktabelle platziert werden.
Für dieses Beispiel wird angenommen, dass die folgenden Informationen in durch Pipe-Zeichen getrennte Spalten in der Amazon S3-Datei angeordnet sind.
1|foo1|bar1|elephant1
2|foo2|bar2|elephant2
3|foo3|bar3|elephant3
4|foo4|bar4|elephant4
...
So importieren Sie eine Datei, die ein benutzerdefiniertes Trennzeichen verwendet:
-
Erstellen Sie eine Tabelle in der Datenbank für die importierten Daten.
postgres=>
CREATE TABLE test (a text, b text, c text, d text, e text); -
Verwenden Sie die folgende Form der Funktion aws_s3.table_import_from_s3, um Daten aus der Amazon S3-Datei zu importieren.
Zur Angabe der Datei können Sie auch den Funktionsaufruf aws_commons.create_s3_uri in den Funktionsaufruf
aws_s3.table_import_from_s3
einbinden.postgres=>
SELECT aws_s3.table_import_from_s3( 'test', 'a,b,d,e', 'DELIMITER ''|''', aws_commons.create_s3_uri('amzn-s3-demo-bucket
', 'pipeDelimitedSampleFile', 'us-east-2') );
Die Daten befinden sich nun in den folgenden Spalten der Tabelle.
postgres=>
SELECT * FROM test;a | b | c | d | e ---+------+---+---+------+----------- 1 | foo1 | | bar1 | elephant1 2 | foo2 | | bar2 | elephant2 3 | foo3 | | bar3 | elephant3 4 | foo4 | | bar4 | elephant4
Importieren einer Amazon S3-komprimierten Datei (gzip)
Das folgende Beispiel zeigt, wie eine mit gzip komprimierte Datei aus Amazon S3 importiert wird. Die Datei, die Sie importieren, muss die folgenden Amazon-S3-Metadaten aufweisen:
-
Schlüssel:
Content-Encoding
-
Wert:
gzip
Wenn Sie die Datei mit dem hochladen AWS Management Console, werden die Metadaten in der Regel vom System übernommen. Informationen zum Hochladen von Dateien auf Amazon S3 mithilfe der AWS Management Console AWS CLI, der oder der API finden Sie unter Hochladen von Objekten im Amazon Simple Storage Service-Benutzerhandbuch.
Weitere Informationen zu Amazon-S3-Metadaten und zu vom System bereitgestellten Metadaten finden Sie unter Bearbeiten von Objektmetadaten in der Amazon-S3-Konsole im Benutzerhandbuch für Amazon Simple Storage Service.
Importieren Sie die gzip-Datei folgendermaßen in Ihrer Aurora PostgreSQL DB-Cluster-.
postgres=>
CREATE TABLE test_gzip(id int, a text, b text, c text, d text);
postgres=>
SELECT aws_s3.table_import_from_s3(
'test_gzip', '', '(format csv)',
'amzn-s3-demo-bucket
', 'test-data.gz', 'us-east-2'
);
Importieren einer kodierten Amazon S3-Datei
Das folgende Beispiel zeigt, wie eine Datei aus Amazon S3 mit Windows-1252-Kodierung importiert wird.
postgres=>
SELECT aws_s3.table_import_from_s3(
'test_table', '', 'encoding ''WIN1252''',
aws_commons.create_s3_uri('amzn-s3-demo-bucket
', 'SampleFile', 'us-east-2')
);