COPYvon Amazon S3 - Amazon Redshift

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.

COPYvon Amazon S3

Um Daten aus Dateien zu laden, die sich in einem oder mehreren S3-Buckets befinden, verwenden Sie die FROM Klausel, um anzugeben, wie die Dateien in Amazon S3 COPY lokalisiert werden. Sie können den Objektpfad zu den Datendateien als Teil der FROM Klausel angeben, oder Sie können den Speicherort einer Manifestdatei angeben, die eine Liste von Amazon S3 S3-Objektpfaden enthält. COPYvon Amazon S3 verwendet eine HTTPS Verbindung. Stellen Sie sicher, dass die S3-IP-Bereiche zu Ihrer Zulassungsliste hinzugefügt werden. Weitere Informationen zu den erforderlichen S3-IP-Bereichen finden Sie unter Netzwerkisolierung.

Wichtig

Wenn sich die Amazon S3 S3-Buckets, die die Datendateien enthalten, nicht in derselben AWS Region wie Ihr Cluster befinden, müssen Sie den REGION Parameter verwenden, um die Region anzugeben, in der sich die Daten befinden.

Syntax

FROM { 's3://objectpath' | 's3://manifest_file' } authorization | MANIFEST | ENCRYPTED | REGION [AS] 'aws-region' | optional-parameters

Beispiele

Im folgenden Beispiel wird ein Objektpfad verwendet, um Daten aus Amazon S3 zu laden.

copy customer from 's3://amzn-s3-demo-bucket/customer' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

Im folgenden Beispiel wird eine Manifestdatei verwendet, um Daten aus Amazon S3 zu laden.

copy customer from 's3://amzn-s3-demo-bucket/cust.manifest' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' manifest;

Parameter

FROM

Die Quelle der Daten, die geladen werden sollen. Weitere Informationen zur Kodierung der Amazon-S3-Datei finden Sie unter Datenkonvertierungsparameter.

's3://copy_from_s3_objectpath'

Gibt den Pfad zu den Amazon-S3-Objekten an, die die Daten enthalten, z. B. 's3://amzn-s3-demo-bucket/custdata.txt'. Der Parameter s3://copy_from_s3_objectpath kann eine einzelne Datei, einen Satz von Objekten oder Ordner mit denselben Schlüsselpräfixen referenzieren. Beispielsweise ist der Name custdata.txt ein Schlüsselpräfix, der sich auf eine Anzahl physischer Dateien bezieht: custdata.txt, custdata.txt.1, custdata.txt.2, custdata.txt.bak usw. Das Schlüsselpräfix kann auch eine Anzahl von Ordnern referenzieren. Beispielsweise bezieht sich 's3://amzn-s3-demo-bucket/custfolder' auf die Ordner custfolder, custfolder_1, custfolder_2 usw. Wenn ein Schlüsselpräfix mehrere Ordner referenziert, werden alle Dateien in den Ordnern geladen. Wenn ein key prefix sowohl mit einer Datei als auch mit einem Ordner übereinstimmt, COPY versucht z. B.custfolder.log, die Datei ebenfalls zu laden. Wenn ein key prefix dazu führen könnte, dass COPY versucht wird, unerwünschte Dateien zu laden, verwenden Sie eine Manifestdatei. Weitere Informationen finden Sie unter copy_from_s3_manifest_file.

Wichtig

Wenn sich der S3-Bucket, der die Datendateien enthält, nicht in derselben AWS Region wie Ihr Cluster befindet, müssen Sie den REGION Parameter verwenden, um die Region anzugeben, in der sich die Daten befinden.

Weitere Informationen finden Sie unter So laden Sie Daten aus Amazon S3.

's3://copy_from_s3_manifest_file'

Gibt den Amazon-S3-Objektschlüssel für eine Manifestdatei an, die die Datendateien auflistet, die geladen werden sollen. Das Argument 's3://copy_from_s3_manifest_file' muss explizit auf eine einzelne Datei verweisen, z. B. 's3://amzn-s3-demo-bucket/manifest.txt'. Es darf kein Schlüsselpräfix referenzieren.

Das Manifest ist eine Textdatei in einem JSON Format, das URL alle Dateien auflistet, die aus Amazon S3 geladen werden sollen. Das URL beinhaltet den Bucket-Namen und den vollständigen Objektpfad für die Datei. Die im Manifest angegebenen Dateien können sich in verschiedenen Buckets befinden, aber alle Buckets müssen sich in derselben AWS Region wie der Amazon Redshift Redshift-Cluster befinden. Wenn eine Datei zweimal aufgelistet wird, wird die Datei zweimal geladen. Das folgende Beispiel zeigt das JSON für ein Manifest, das drei Dateien lädt.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/custdata.1","mandatory":true}, {"url":"s3://amzn-s3-demo-bucket1/custdata.2","mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/custdata.1","mandatory":false} ] }

Die doppelten Anführungszeichen sind erforderlich. Es muss sich um normale Anführungszeichen (0x22) handeln. Es dürfen keine schrägen oder „smarten“ Anführungszeichen sein. Jeder Eintrag im Manifest kann optional ein mandatory-Flag enthalten. Wenn auf gesetzt mandatory isttrue, wird COPY beendet, wenn die Datei für diesen Eintrag nicht gefunden wird. Andernfalls COPY wird der Vorgang fortgesetzt. Der Standardwert für den mandatory beträgt false.

Beim Laden aus Datendateien im ORC oder Parquet-Format ist ein meta Feld erforderlich, wie im folgenden Beispiel gezeigt.

{ "entries":[ { "url":"s3://amzn-s3-demo-bucket1/orc/2013-10-04-custdata", "mandatory":true, "meta":{ "content_length":99 } }, { "url":"s3://amzn-s3-demo-bucket2/orc/2013-10-05-custdata", "mandatory":true, "meta":{ "content_length":99 } } ] }

Die Manifestdatei darf nicht verschlüsselt oder komprimiert sein, auch wenn die ZSTD Optionen ENCRYPTED GZIPLZOP,BZIP2,, oder angegeben sind. COPYgibt einen Fehler zurück, wenn die angegebene Manifestdatei nicht gefunden wird oder die Manifestdatei nicht richtig formatiert ist.

Wenn eine Manifestdatei verwendet wird, muss der MANIFEST Parameter mit dem COPY Befehl angegeben werden. Wenn der MANIFEST Parameter nicht angegeben ist, COPY wird davon ausgegangen, dass es sich bei der mit angegebenen Datei um eine Datendatei FROM handelt.

Weitere Informationen finden Sie unter So laden Sie Daten aus Amazon S3.

Autorisierung

Der COPY Befehl benötigt eine Autorisierung, um auf Daten in einer anderen AWS Ressource zuzugreifen, einschließlich in Amazon S3, AmazonEMR, Amazon DynamoDB und Amazon. EC2 Sie können diese Autorisierung erteilen, indem Sie auf eine Rolle AWS Identity and Access Management (IAM) verweisen, die Ihrem Cluster zugeordnet ist (rollenbasierte Zugriffskontrolle), oder indem Sie die Zugangsdaten für einen Benutzer angeben (schlüsselbasierte Zugriffskontrolle). Für mehr Sicherheit und Flexibilität empfehlen wir die Verwendung einer rollenbasierten Zugriffskontrolle. IAM Weitere Informationen finden Sie unter Autorisierungsparameter.

MANIFEST

Gibt an, dass ein Manifest verwendet wird, um die Datendateien aufzulisten, die aus Amazon S3 geladen werden sollen. Wenn der MANIFEST Parameter verwendet wird, werden Daten aus den Dateien COPY geladen, die im Manifest aufgeführt sind, auf das von 's3://copy_from_s3_manifest_file' verwiesen wird. Wenn die Manifestdatei nicht gefunden wird oder nicht richtig formatiert ist, COPY schlägt sie fehl. Weitere Informationen finden Sie unter Verwenden eines Manifests für die Angabe von Datendateien.

ENCRYPTED

Eine Klausel, die angibt, dass die Eingabedateien in Amazon S3 mittels clientseitiger Verschlüsselung mit vom Kunden verwalteten Schlüsseln verschlüsselt sind. Weitere Informationen finden Sie unter Laden verschlüsselter Datendateien aus Amazon S3. Geben Sie nicht an, ENCRYPTED ob die Eingabedateien mit der serverseitigen Amazon S3 S3-Verschlüsselung (SSE- KMS oder SSE -S3) verschlüsselt sind. COPYliest serverseitig verschlüsselte Dateien automatisch.

Wenn Sie den ENCRYPTED Parameter angeben, müssen Sie auch den MASTER_SYMMETRIC_KEY Parameter angeben oder den master_symmetric_key Wert in die CREDENTIALS Zeichenfolge aufnehmen.

Wenn die verschlüsselten Dateien in komprimiertem Format vorliegen, fügen Sie den ZSTD Parameter GZIP LZOPBZIP2,, oder hinzu.

Manifestdateien und JSONPaths Dateien dürfen nicht verschlüsselt werden, auch wenn die ENCRYPTED Option angegeben ist.

MASTER_ SYMMETRIC _ KEY 'Stammschlüssel'

Der symmetrische Root-Schlüssel, der für die Verschlüsselung von Datendateien in Amazon S3 verwendet wurde. Wenn MASTER _ SYMMETRIC _ angegeben KEY ist, muss der ENCRYPTED Parameter ebenfalls angegeben werden. MASTER_ SYMMETRIC _ KEY kann nicht mit dem CREDENTIALS Parameter verwendet werden. Weitere Informationen finden Sie unter Laden verschlüsselter Datendateien aus Amazon S3.

Wenn die verschlüsselten Dateien im komprimierten Format vorliegen, fügen Sie den ZSTD Parameter GZIP LZOPBZIP2,, oder hinzu.

REGION[AS] 'AWS-Region'

Gibt die AWS Region an, in der sich die Quelldaten befinden. REGIONist für COPY aus einem Amazon S3 S3-Bucket oder einer DynamoDB-Tabelle erforderlich, wenn sich die AWS Ressource, die die Daten enthält, nicht in derselben Region wie der Amazon Redshift Redshift-Cluster befindet.

Der Wert für aws_region muss einer Region entsprechen, die in der Tabelle Amazon-Redshift-Regionen und -Endpunkte aufgeführt ist.

Wenn der REGION Parameter angegeben ist, müssen sich alle Ressourcen, einschließlich einer Manifestdatei oder mehrerer Amazon S3 S3-Buckets, in der angegebenen Region befinden.

Anmerkung

Für die Übertragung von Daten zwischen Regionen werden dem Amazon-S3-Bucket oder der DynamoDB-Tabelle, die die Daten enthält, zusätzliche Gebühren berechnet. Weitere Informationen zu den Preisen finden Sie unter Datenübertragung OUT von Amazon S3 in eine andere AWS Region auf der Amazon S3 S3-Preisseite und Datenübertragung OUT auf der Amazon DynamoDB DynamoDB-Preisseite.

Geht standardmäßig COPY davon aus, dass sich die Daten in derselben Region wie der Amazon Redshift Redshift-Cluster befinden.

Optionale Parameter

Sie können optional die folgenden Parameter COPY von Amazon S3 aus angeben:

Nicht unterstützte Parameter

Sie können die folgenden Parameter nicht mit COPY Amazon S3 verwenden:

  • SSH

  • READRATIO