Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
COPY JOB
Weitere Informationen zur Verwendung dieses Befehls finden Sie unter Erstellen einer S3-Ereignisintegration, um Dateien automatisch aus Amazon-S3-Buckets zu kopieren.
Verwaltet COPY-Befehle, die Daten in eine Tabelle laden. Der Befehl COPY JOB ist eine Erweiterung des COPY-Befehls, der das Laden von Daten aus Amazon-S3-Buckets automatisiert. Wenn Sie einen COPY JOB erstellen, erkennt es Amazon Redshift, wenn neue Amazon-S3-Dateien in einem bestimmten Pfad erstellt werden, und lädt diese dann automatisch, ohne dass Sie eine Maßnahme ergreifen müssen. Beim Laden der Daten werden dieselben Parameter wie im ursprünglichen COPY-Befehl verwendet. Amazon Redshift verfolgt die geladenen Dateien (basierend auf dem Dateinamen), um sicherzustellen, dass sie nur einmal geladen werden.
Anmerkung
Informationen zum COPY-Befehl, seiner Syntax, seinen Parametern und Berechtigungen, finden Sie unter COPY.
Erforderliche Berechtigung
Um den Befehl COPY JOB verwenden zu können, benötigen Sie zusätzlich zu allen für die Verwendung von COPY erforderlichen Berechtigungen eine der folgenden Berechtigungen:
Superuser
Alle der folgenden Berechtigungen:
Die relevante bereichsbezogene Berechtigung CREATE, ALTER oder DROP für COPY JOBS in der Datenbank, zu der Sie COPY ausführen möchten.
Die Berechtigung USAGE für das Schema, zu der Sie COPY ausführen möchten, oder die bereichsbezogene Berechtigung USAGE für Schemas in der Datenbank, zu der Sie COPY ausführen möchten.
Die Berechtigung INSERT für die Tabelle, zu der Sie COPY ausführen möchten, oder die bereichsbezogene Berechtigung INSERT für Tabellen im Schema oder in der Datenbank, zu der Sie COPY ausführen möchten.
Die mit dem COPY-Befehl angegebene IAM-Rolle muss über die Berechtigung zum Zugriff auf die zu ladenden Daten verfügen. Weitere Informationen finden Sie unter IAM-Berechtigungen für COPY, UNLOAD und CREATE LIBRARY.
Syntax
Erstellen eines Kopierauftrags. Die Parameter des COPY-Befehls werden zusammen mit dem Kopierauftrag gespeichert.
Sie können COPY JOB CREATE nicht innerhalb eines Transaktionsblocks ausführen.
COPY copy-command JOB CREATE job-name [AUTO ON | OFF]
Ändern der Konfiguration eines Kopierauftrags.
COPY JOB ALTER job-name [AUTO ON | OFF]
Ausführen eines Kopierauftrags. Es werden die gespeicherten Parameter des COPY-Befehls verwendet.
COPY JOB RUN job-name
Auflisten aller Kopieraufträge.
COPY JOB LIST
Anzeigen der Details zu dem Kopierauftrag.
COPY JOB SHOW job-name
Löschen eines Kopierauftrags.
Sie können COPY JOB DROP nicht innerhalb eines Transaktionsblocks ausführen.
COPY JOB DROP job-name
Parameter
- copy-command
-
Ein COPY-Befehl, der Daten aus Amazon S3 in Amazon Redshift lädt. Die Klausel enthält COPY-Parameter, die den Amazon-S3-Bucket, die Zieltabelle, die IAM-Rolle und andere Parameter definieren, die beim Laden von Daten verwendet werden. Es werden alle Parameter eines COPY-Befehls zum Laden von Amazon-S3-Daten unterstützt, mit folgenden Ausnahmen:
-
Der COPY JOB nimmt keine bereits vorhandenen Dateien in dem Ordner auf, auf den der COPY-Befehl verweist. Nur Dateien, die nach dem Erstellungszeitstempel von COPY JOB erstellt wurden, werden aufgenommen.
Sie können einen COPY-Befehl nicht mit den Optionen MAXERROR oder IGNOREALLERRORS angeben.
Sie können keine Manifestdatei angeben. COPY JOB erfordert einen festgelegten Amazon-S3-Speicherort, um diesen auf neu erstellte Dateien überwachen zu können.
Sie können einen COPY-Befehl nicht mit Autorisierungstypen wie Zugriffsschlüsseln und geheimen Schlüsseln angeben. Es werden nur COPY-Befehle unterstützt, die den Parameter
IAM_ROLEfür die Autorisierung verwenden. Weitere Informationen finden Sie unter Autorisierungsparameter.Die dem Cluster zugeordnete standardmäßige IAM-Rolle wird von COPY JOB nicht unterstützt. Sie müssen die
IAM_ROLEim COPY-Befehl angeben.
Weitere Informationen finden Sie unter COPY aus Amazon S3.
-
- job-name
-
Der Name des Auftrags, der verwendet wird, um auf den COPY-Auftrag zu verweisen. Der job-name darf keinen Bindestrich (‐) enthalten.
- [AUTO ON / OFF]
-
Klausel, die angibt, ob Amazon-S3-Daten automatisch in Amazon-Redshift-Tabellen geladen werden.
Bei Angabe von
ONüberwacht Amazon Redshift den Amazon-S3-Quellpfad auf neu erstellte Dateien. Falls welche gefunden werden, wird ein COPY-Befehl mit den COPY-Parametern aus der Auftragsdefinition ausgeführt. Dies ist die Standardeinstellung.Bei Angabe von
OFFführt Amazon Redshift den COPY JOB nicht automatisch aus.
Nutzungshinweise
Die Optionen des COPY-Befehls werden erst zur Laufzeit validiert. Eine ungültige IAM_ROLE oder eine Amazon-S3-Datenquelle führt beispielsweise zu Laufzeitfehlern, wenn COPY JOB gestartet wird.
Wenn der Cluster angehalten ist, werden COPY JOBS nicht ausgeführt.
Informationen zur Abfrage von geladenen COPY-Befehlsdateien sowie zu Ladefehlern finden Sie unter STL_LOAD_COMMITS, STL_LOAD_ERRORS, STL_LOADERROR_DETAIL. Weitere Informationen finden Sie unter Überprüfung, ob die Daten korrekt geladen wurden.
Beispiele
Im folgenden Beispiel wird demonstriert, wie Sie einen COPY JOB erstellen, um Daten aus einem Amazon-S3-Bucket zu laden.
COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' JOB CREATE my_copy_job_name AUTO ON;