Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im Blog-Posting
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.
Mit TEMPLATE KOPIEREN
Sie können Redshift-Vorlagen mit COPY-Befehlen verwenden, um die Befehlssyntax zu vereinfachen und die Konsistenz zwischen Datenladevorgängen sicherzustellen. Anstatt dieselben Formatierungsparameter wiederholt anzugeben, definieren Sie sie einmal in einer Vorlage und verweisen in Ihren COPY-Befehlen auf die Vorlage. Wenn Sie eine Vorlage verwenden, kombiniert der Befehl COPY die Parameter aus der Vorlage mit allen direkt im Befehl angegebenen Parametern. Wenn derselbe Parameter sowohl in der Vorlage als auch im Befehl vorkommt, hat der Befehlsparameter Vorrang. Weitere Informationen finden Sie unter VORLAGE ERSTELLEN.
Vorlagen für den Befehl COPY können wie folgt erstellt werden:
Eine vollständige Liste der unterstützten Parameter finden Sie unter COPY Befehl.
Erforderliche Berechtigung
Um eine Vorlage in einem COPY-Befehl zu verwenden, benötigen Sie:
-
Alle erforderlichen Berechtigungen zur Ausführung des COPY-Befehls (sieheErforderliche Berechtigungen)
-
Eine der folgenden Vorlagenberechtigungen:
-
Superuser-Rechte
-
USAGE-Privileg für die Vorlage und USAGE-Privileg für das Schema, das die Vorlage enthält
-
Syntax
COPY target_table FROM 's3://...' authorization [ option, ...] USING TEMPLATE [database_name.][schema_name.]template_name;
Parameters
- database_name
-
(Optional) Der Name der Datenbank, in der die Vorlage existiert. Wenn nicht angegeben, wird die aktuelle Datenbank verwendet.
- schema_name
-
(Optional) Der Name des Schemas, in dem die Vorlage existiert. Wenn nicht angegeben, wird im aktuellen Suchpfad nach der Vorlage gesucht.
- Vorlagenname
-
Der Name der Vorlage, die in COPY verwendet werden soll.
Nutzungshinweise
Befehlsspezifische Parameter (Quelle, Ziel, Autorisierung) müssen weiterhin im COPY-Befehl angegeben werden.
Vorlagen können keine Manifestdateispezifikationen für COPY-Befehle enthalten.
Beispiele
Die folgenden Beispiele zeigen, wie eine Vorlage erstellt und in COPY-Befehlen verwendet wird:
CREATE TEMPLATE public.test_template FOR COPY AS CSV DELIMITER '|' IGNOREHEADER 1 MAXERROR 100; COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' USING TEMPLATE public.test_template;
Wenn ein Parameter sowohl in der Vorlage als auch im Befehl vorhanden ist, hat der Befehlsparameter Vorrang. In diesem Beispiel wird das Kommatrennzeichen () aus dem Befehl anstelle des Pipe-Trennzeichens (,) aus der Vorlage verwendet, wenn die Vorlage public.test_template enthält, DELIMITER '|' aber der COPY-Befehl dies angibtDELIMITER ','. |
COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' DELIMITER ',' USING TEMPLATE public.test_template;