

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="r_COPY-WITH-TEMPLATE"></a>

È 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](r_CREATE_TEMPLATE.md). 

I modelli per il comando COPY possono essere creati con:
+ [Parametri del formato dei dati](copy-parameters-data-format.md)
+ [Parametri di compressione dei file](copy-parameters-file-compression.md)
+ [Parametri di conversione dei dati](copy-parameters-data-conversion.md)
+ [Operazioni di caricamento dati](copy-parameters-data-load.md)

Per un elenco completo dei parametri supportati, vedere [COPY](r_COPY.md) comando.

## Autorizzazione richiesta
<a name="r_COPY-WITH-TEMPLATE-privileges"></a>

Per utilizzare un modello in un comando COPY, è necessario disporre di:
+ Tutte le autorizzazioni necessarie per eseguire il comando COPY (vedi[Autorizzazioni richieste](r_COPY.md#r_COPY-permissions))
+ Una delle seguenti autorizzazioni del modello:
  + Privilegi di superutente
  + Privilegio USAGE sul modello e privilegio USAGE sullo schema contenente il modello

## Sintassi
<a name="r_COPY-WITH-TEMPLATE-syntax"></a>

```
COPY target_table FROM 's3://...'
authorization
[ option, ...]
USING TEMPLATE [database_name.][schema_name.]template_name;
```

## Parameters
<a name="r_COPY-WITH-TEMPLATE-parameters"></a>

 *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
<a name="r_COPY-WITH_TEMPLATE-usage-notes"></a>
+ I parametri specifici del comando (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
<a name="r_COPY-WITH-TEMPLATE-examples"></a>

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 del comando ha la precedenza. In questo esempio, se il modello `public.test_template` contiene `DELIMITER '|'` ma il comando COPY lo specifica`DELIMITER ','`, 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;
```