Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post del
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
COPIA con TEMPLATE
È possibile utilizzare i modelli Redshift con comandi COPY per semplificare la sintassi dei comandi e garantire la coerenza tra le operazioni di caricamento dei dati. Invece di specificare ripetutamente gli stessi parametri di formattazione, li definisci una volta in un modello e fai riferimento al modello nei comandi COPY. Quando utilizzate un modello, il comando COPY combina i parametri del modello con tutti i parametri specificati direttamente nel comando. Se lo stesso parametro appare sia nel modello che nel comando, il parametro del comando ha la precedenza. Per ulteriori informazioni, consulta CREARE UN MODELLO.
I modelli per il comando COPY possono essere creati con:
Per un elenco completo dei parametri supportati, vedere COPY comando.
Autorizzazione richiesta
Per utilizzare un modello in un comando COPY, è necessario disporre di:
-
Tutte le autorizzazioni necessarie per eseguire il comando COPY (vediAutorizzazioni richieste)
-
Una delle seguenti autorizzazioni del modello:
-
Privilegi di superutente
-
Privilegio USAGE sul modello e privilegio USAGE sullo schema contenente il modello
-
Sintassi
COPY target_table FROM 's3://...' authorization [ option, ...] USING TEMPLATE [database_name.][schema_name.]template_name;
Parameters
- database_name
-
(Facoltativo) Il nome del database in cui esiste il modello. Se non specificato, viene utilizzato il database corrente.
- schema_name
-
(Facoltativo) Il nome dello schema in cui esiste il modello. Se non viene specificato, il modello viene cercato nel percorso di ricerca corrente.
- nome_modello
-
Il nome del modello da usare in COPY.
Note per l'utilizzo
Command-specific i parametri (origine, destinazione, autorizzazione) devono ancora essere specificati nel comando COPY.
I modelli non possono contenere le specifiche dei file manifest per i comandi COPY.
Esempi
Gli esempi seguenti mostrano come creare un modello e utilizzarlo nei comandi COPY:
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;
Quando un parametro è presente sia nel modello che nel comando, il parametro del comando ha la precedenza. In questo esempio, se il modello public.test_template contiene DELIMITER '|' ma il comando COPY lo specificaDELIMITER ',', verrà utilizzato il delimitatore di virgola (,) del comando anziché il delimitatore pipe () del modello. |
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;