View a markdown version of this page

COPIA con MODELLO - Amazon Redshift

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 blog pubblicato il 30 giugno 2025.

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 MODELLO

È possibile utilizzare i modelli Redshift con i comandi COPY per semplificare la sintassi dei comandi e mantenere la coerenza tra le operazioni di caricamento dei dati. Invece di specificare ripetutamente gli stessi parametri di formattazione, li definite una volta in un modello e fate riferimento al modello nei comandi COPY. Quando si utilizza un modello, il comando COPY combina i parametri del modello con qualsiasi parametro specificato direttamente nel comando. Se lo stesso parametro appare sia nel modello che nel comando, il parametro command 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 (vedereAutorizzazioni richieste)

  • Una delle seguenti autorizzazioni per il 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 specificato, il modello viene cercato nel percorso di ricerca corrente.

nome_modello

Il nome del modello da utilizzare 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 specifiche di file manifesto 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 esiste sia nel modello che nel comando, il parametro command ha la precedenza. In questo esempio, se il modello public.test_template contiene DELIMITER '|' ma è specificato dal comando COPYDELIMITER ',', verrà utilizzato il delimitatore di virgola (,) del comando anziché il delimitatore verticale () 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;