

 Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dalla Patch 198. Le UDF Python esistenti continueranno 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à.

# COPY
<a name="r_COPY"></a>


|  | 
| --- |
|  Client-side la crittografia per i comandi COPY e UNLOAD non sarà più aperta ai nuovi clienti a partire dal 30 aprile 2025. Se hai utilizzato la crittografia lato client con i comandi COPY e UNLOAD nei 12 mesi precedenti il 30 aprile 2025, puoi continuare a utilizzare la crittografia lato client con COPY o UNLOAD fino al 30 aprile 2026. Dopo il 30 aprile 2026 non potrai utilizzare la crittografia lato client per i comandi COPY e UNLOAD. Consigliamo di passare alla crittografia lato server per COPY e UNLOAD il prima possibile. Se utilizzi già la crittografia lato server per COPY e UNLOAD, non cambia nulla e puoi continuare a utilizzarla senza modificare le query. Per ulteriori informazioni sulla crittografia per COPY e UNLOAD, consulta il parametro ENCRYPTED di seguito.  | 

Carica i dati in una tabella dai file di dati o da una tabella Amazon DynamoDB. I file possono trovarsi in un bucket Amazon Simple Storage Service (Amazon S3), un cluster Amazon EMR o un host remoto che accede tramite una connessione Secure Shell (SSH).

**Nota**  
Le tabelle esterne di Amazon Redshift Spectrum sono di sola lettura. Non è possibile eseguire il comando COPY per una tabella esterna.

Il comando COPY aggiunge i nuovi dati di input come righe aggiuntive nella tabella.

La dimensione massima di una singola riga di input da qualsiasi origine è pari a 4 MB.

**Topics**
+ [Autorizzazioni richieste](#r_COPY-permissions)
+ [Sintassi di COPY](#r_COPY-syntax)
+ [Parametri obbligatori](#r_COPY-syntax-required-parameters)
+ [Parametri facoltativi](#r_COPY-syntax-overview-optional-parameters)
+ [Note sull'utilizzo e risorse aggiuntive per il comando COPY](#r_COPY-using-the-copy-command)
+ [Esempi di comando COPY](#r_COPY-using-the-copy-command-examples)
+ [COPY JOB](r_COPY-JOB.md)
+ [COPIA con TEMPLATE](r_COPY-WITH-TEMPLATE.md)
+ [Documentazione di riferimento dei parametri di COPY](r_COPY-parameters.md)
+ [Note per l'utilizzo](r_COPY_usage_notes.md)
+ [Esempi di COPY](r_COPY_command_examples.md)

## Autorizzazioni richieste
<a name="r_COPY-permissions"></a>

Per utilizzare il comando COPY, è necessario disporre del privilegio [INSERT](r_GRANT.md#grant-insert) per la tabella Amazon Redshift.

## Sintassi di COPY
<a name="r_COPY-syntax"></a>

```
COPY table-name 
[ column-list ]
FROM data_source
authorization
[ [ FORMAT ] [ AS ] data_format ] 
[ parameter [ argument ] [, ... ] ]
```

È possibile eseguire un'operazione COPY con soli tre parametri: un nome di tabella, un'origine dati e l'autorizzazione per accedere ai dati. 

Amazon Redshift estende la funzionalità del comando COPY per consentirti di caricare i dati in diversi formati di dati da diverse origini dati, controllare l'accesso per caricare i dati, gestire le trasformazioni di dati e gestire l'operazione di caricamento. 

Le seguenti sezioni presentano i parametri obbligatori del comando COPY e raggruppano i parametri opzionali per funzione. Gli argomenti successivi descrivono ogni parametro e spiegano come interagiscono le diverse opzioni. Puoi anche andare direttamente alla descrizione di un parametro utilizzando un elenco alfabetico di parametri. 

## Parametri obbligatori
<a name="r_COPY-syntax-required-parameters"></a>

Il comando COPY necessita di tre elementi: 
+ [Table Name](#r_COPY-syntax-overview-table-name)
+ [Data Source](#r_COPY-syntax-overview-data-source)
+ [Authorization](#r_COPY-syntax-overview-credentials)

Il comando COPY più semplice utilizza il seguente formato. 

```
COPY table-name 
FROM data-source
authorization;
```

L'esempio seguente crea una tabella chiamata CATDEMO, poi carica la tabella con dati campione da un file di dati in Amazon S3 chiamato `category_pipe.txt`. 

```
create table catdemo(catid smallint, catgroup varchar(10), catname varchar(10), catdesc varchar(50));
```

Nell'esempio seguente, l'origine dati per il comando COPY è un file di dati chiamato `category_pipe.txt` nella cartella `tickit` di un bucket Amazon S3 chiamato `redshift-downloads`. Il comando COPY è autorizzato ad accedere al bucket Amazon S3 tramite un ruolo AWS Identity and Access Management (IAM). Se il cluster possiede un ruolo IAM esistente per accedere ad Amazon S3 collegato, è possibile sostituire l'Amazon Resource Name (ARN) del ruolo nel comando COPY successivo ed eseguirlo.

```
copy catdemo
from 's3://redshift-downloads/tickit/category_pipe.txt'
iam_role 'arn:aws:iam::{{<aws-account-id>}}:role/{{<role-name>}}'
region 'us-east-1';
```

Per istruzioni complete su come utilizzare i comandi COPY per caricare dati di esempio, incluse istruzioni per caricare dati da altre AWS regioni, consulta [Load Sample Data from Amazon S3 nella Amazon](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-create-sample-db.html) Redshift Getting Started Guide.

*table-name*  <a name="r_COPY-syntax-overview-table-name"></a>
Il nome della tabella di destinazione per il comando COPY. La tabella deve esistere già nel database. La tabella può essere temporanea o persistente. Il comando COPY aggiunge i nuovi dati di input a tutte le righe esistenti nella tabella.

FROM *data-source*  <a name="r_COPY-syntax-overview-data-source"></a>
La posizione dei dati di origine da caricare nella tabella di destinazione. È possibile specificare un file manifest con alcune origini dati.   
Di solito, il repository dei dati più utilizzato è un bucket Amazon S3. È possibile anche caricare da file di dati ubicati in un cluster Amazon EMR, un'istanza Amazon EC2 o un host remoto a cui il cluster può accedere utilizzando una connessione SSH oppure è possibile caricare direttamente da una tabella DynamoDB.   
+ [COPY da Amazon S3](copy-parameters-data-source-s3.md)
+ [COPY da Amazon EMR](copy-parameters-data-source-emr.md) 
+ [COPY da host remoto (SSH)](copy-parameters-data-source-ssh.md)
+ [COPY da Amazon DynamoDB](copy-parameters-data-source-dynamodb.md)

Autorizzazione  <a name="r_COPY-syntax-overview-credentials"></a>
Una clausola che indica il metodo utilizzato dal cluster per l'autenticazione e l'autorizzazione all'accesso ad altre risorse. AWS Il comando COPY richiede l'autorizzazione per accedere ai dati in un'altra AWS risorsa, tra cui Amazon S3, Amazon EMR, Amazon DynamoDB e Amazon EC2. È possibile fornire tale autorizzazione referenziando il ruolo IAM collegato al cluster o fornendo l'ID chiave di accesso e la chiave di accesso segreta per un utente IAM.   
+ [Parametri di autorizzazione](copy-parameters-authorization.md) 
+ [Role-based controllo degli accessi](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based) 
+ [Key-based controllo degli accessi](copy-usage_notes-access-permissions.md#copy-usage_notes-access-key-based) 

## Parametri facoltativi
<a name="r_COPY-syntax-overview-optional-parameters"></a>

È possibile specificare facoltativamente il modo in cui COPY mappa i dati dei campi in colonne nella tabella di destinazione, definire gli attributi dei dati di origine per consentire al comando COPY di leggere correttamente e analizzare i dati di origine e gestire le operazioni che il comando COPY deve eseguire durante il processo di caricamento. 
+ [Opzioni di mappatura di colonne](copy-parameters-column-mapping.md)
+ [Parametri del formato dei dati](#r_COPY-syntax-overview-data-format)
+ [Parametri di conversione dei dati](#r_COPY-syntax-overview-data-conversion)
+ [Operazioni di caricamento dati](#r_COPY-syntax-overview-data-load)

### Mappatura di colonne
<a name="r_COPY-syntax-overview-column-mapping"></a>

Per impostazione predefinita, COPY inserisce i valori dei campi nelle colonne della tabella di destinazione nello stesso ordine in cui i campi si presentano nei file di dati. Se l'ordine predefinito delle colonne non funziona, è possibile specificare un elenco di colonne o utilizzare delle espressioni JSONPath per mappare i campi dei dati di origine nelle colonne di destinazione. 
+ [Column List](copy-parameters-column-mapping.md#copy-column-list)
+ [JSONPaths File](copy-parameters-column-mapping.md#copy-column-mapping-jsonpaths)

### Parametri del formato dei dati
<a name="r_COPY-syntax-overview-data-format"></a>

È possibile caricare dati da file di testo in formato larghezza fissa, delimitato da caratteri, valori separati da virgole (CSV) o JSON o da file Avro.

Per impostazione predefinita, il comando COPY prevede che i dati di origine siano contenuti in file di testo delimitati da caratteri. UTF-8 Il delimitatore predefinito è una barra verticale ( \| ). Se i dati di origine sono in un altro formato, utilizza i seguenti parametri per specificare il formato dei dati.
+ [FORMAT](copy-parameters-data-format.md#copy-format)
+ [CSV](copy-parameters-data-format.md#copy-csv)
+ [DELIMITER](copy-parameters-data-format.md#copy-delimiter) 
+ [FIXEDWIDTH](copy-parameters-data-format.md#copy-fixedwidth) 
+ [SHAPEFILE](copy-parameters-data-format.md#copy-shapefile) 
+ [AVRO](copy-parameters-data-format.md#copy-avro) 
+ [JSON format for COPY](copy-parameters-data-format.md#copy-json) 
+ [ENCRYPTED](copy-parameters-data-source-s3.md#copy-encrypted) 
+ [BZIP2](copy-parameters-file-compression.md#copy-bzip2) 
+ [GZIP](copy-parameters-file-compression.md#copy-gzip) 
+ [LZOP](copy-parameters-file-compression.md#copy-lzop) 
+ [PARQUET](copy-parameters-data-format.md#copy-parquet) 
+ [ORC](copy-parameters-data-format.md#copy-orc) 
+ [ZSTD](copy-parameters-file-compression.md#copy-zstd) 

### Parametri di conversione dei dati
<a name="r_COPY-syntax-overview-data-conversion"></a>

Mentre carica la tabella, COPY tenta di convertire in modo implicito le stringhe nei dati di origine nel tipo di dati della colonna di destinazione. Se hai necessità di specificare una conversione diversa dal comportamento predefinito o se la conversione predefinita dà luogo a errori, è possibile gestire le conversioni dei dati specificando i seguenti parametri.
+ [ACCEPTANYDATE](copy-parameters-data-conversion.md#copy-acceptanydate) 
+ [ACCEPTINVCHARS](copy-parameters-data-conversion.md#copy-acceptinvchars) 
+ [BLANKSASNULL](copy-parameters-data-conversion.md#copy-blanksasnull) 
+ [DATEFORMAT](copy-parameters-data-conversion.md#copy-dateformat) 
+ [EMPTYASNULL](copy-parameters-data-conversion.md#copy-emptyasnull) 
+ [ENCODING](copy-parameters-data-conversion.md#copy-encoding) 
+ [ESCAPE](copy-parameters-data-conversion.md#copy-escape) 
+ [EXPLICIT_IDS](copy-parameters-data-conversion.md#copy-explicit-ids) 
+ [FILLRECORD](copy-parameters-data-conversion.md#copy-fillrecord) 
+ [IGNOREBLANKLINES](copy-parameters-data-conversion.md#copy-ignoreblanklines) 
+ [IGNOREHEADER](copy-parameters-data-conversion.md#copy-ignoreheader) 
+ [NULL AS](copy-parameters-data-conversion.md#copy-null-as) 
+ [REMOVEQUOTES](copy-parameters-data-conversion.md#copy-removequotes) 
+ [ROUNDEC](copy-parameters-data-conversion.md#copy-roundec) 
+ [TIMEFORMAT](copy-parameters-data-conversion.md#copy-timeformat) 
+ [TRIMBLANKS](copy-parameters-data-conversion.md#copy-trimblanks) 
+ [TRUNCATECOLUMNS](copy-parameters-data-conversion.md#copy-truncatecolumns) 

### Operazioni di caricamento dati
<a name="r_COPY-syntax-overview-data-load"></a>

Gestisce il comportamento predefinito dell'operazione di caricamento per la risoluzione dei problemi o per ridurre i tempi di caricamento specificando i seguenti parametri. 
+ [COMPROWS](copy-parameters-data-load.md#copy-comprows) 
+ [COMPUPDATE](copy-parameters-data-load.md#copy-compupdate) 
+ [IGNOREALLERRORS](copy-parameters-data-load.md#copy-ignoreallerrors) 
+ [MAXERROR](copy-parameters-data-load.md#copy-maxerror) 
+ [NOLOAD](copy-parameters-data-load.md#copy-noload) 
+ [STATUPDATE](copy-parameters-data-load.md#copy-statupdate) 

## Note sull'utilizzo e risorse aggiuntive per il comando COPY
<a name="r_COPY-using-the-copy-command"></a>

Per ulteriori informazioni su come utilizzare il comando COPY, consultare i seguenti argomenti: 
+ [Note per l'utilizzo](r_COPY_usage_notes.md)
+ [Tutorial: Caricamento dei dati da Amazon S3](tutorial-loading-data.md)
+ [Best practice di Amazon Redshift per il caricamento di dati](c_loading-data-best-practices.md)
+ [Caricamento delle tabelle con il comando COPY](t_Loading_tables_with_the_COPY_command.md)
  + [Caricamento di dati da Amazon S3](t_Loading-data-from-S3.md)
  + [Caricamento di dati da Amazon EMR](loading-data-from-emr.md)
  + [Caricamento di dati da host remoti](loading-data-from-remote-hosts.md) 
  + [Caricamento di dati da una tabella Amazon DynamoDB](t_Loading-data-from-dynamodb.md)
+ [Risoluzione di problemi di caricamento dei dati](t_Troubleshooting_load_errors.md)

## Esempi di comando COPY
<a name="r_COPY-using-the-copy-command-examples"></a>

Per altri esempi che mostrano come eseguire COPY da varie origini, in formati diversi e con diverse opzioni di COPY, consulta [Esempi di COPY](r_COPY_command_examples.md).