COPYda Amazon S3 - Amazon Redshift

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à.

COPYda Amazon S3

Per caricare dati da file che si trovano in uno o più bucket S3, utilizza la FROM clausola per indicare come COPY localizza i file in Amazon S3. Puoi fornire il percorso dell'oggetto ai file di dati come parte della FROM clausola oppure puoi fornire la posizione di un file manifest che contiene un elenco di percorsi di oggetti Amazon S3. COPYda Amazon S3 utilizza una HTTPS connessione. Assicurati che gli intervalli IP S3 siano aggiunti all'elenco di indirizzi consentiti. Per ulteriori informazioni sugli intervalli IP S3 richiesti, consulta Isolamento di rete.

Importante

Se i bucket Amazon S3 che contengono i file di dati non risiedono nella stessa AWS regione del cluster, devi utilizzare il REGION parametro per specificare la regione in cui si trovano i dati.

Sintassi

FROM { 's3://objectpath' | 's3://manifest_file' } authorization | MANIFEST | ENCRYPTED | REGION [AS] 'aws-region' | optional-parameters

Esempi

Nell'esempio seguente viene utilizzato un percorso oggetto per caricare dati da Amazon S3.

copy customer from 's3://amzn-s3-demo-bucket/customer' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

Nell'esempio seguente viene utilizzato un file manifest per caricare dati da Amazon S3.

copy customer from 's3://amzn-s3-demo-bucket/cust.manifest' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' manifest;

Parametri

FROM

L'origine dei dati da caricare. Per ulteriori informazioni sulla codifica del file Amazon S3, consultare Parametri di conversione dei dati.

's3://copy_from_s3_objectpath'

Specifica il percorso degli oggetti Amazon S3 che contengono i dati, ad esempio 's3://amzn-s3-demo-bucket/custdata.txt'. Il parametro s3://copy_from_s3_objectpath può fare riferimento a un singolo file o a un insieme di oggetti o cartelle che hanno lo stesso prefisso della chiave. Ad esempio, il nome custdata.txt è un prefisso della chiave che si riferisce a un certo numero di file fisici: custdata.txt,custdata.txt.1, custdata.txt.2, custdata.txt.bak e così via. Il prefisso della chiave può anche fare riferimento a un certo numero di cartelle. Ad esempio 's3://amzn-s3-demo-bucket/custfolder' fa riferimento alle cartelle custfolder, custfolder_1, custfolder_2 e così via. Se un prefisso della chiave fa riferimento a più cartelle, vengono caricati tutti i file in esse contenuti. Se un key prefix corrisponde sia a un file che a una cartella, ad esempiocustfolder.log, COPY tenta di caricare anche il file. Se un key prefix può causare il COPY tentativo di caricare file indesiderati, utilizzate un file manifest. Per ulteriori informazioni, consultare copy_from_s3_manifest_file.

Importante

Se il bucket S3 che contiene i file di dati non si trova nella stessa AWS regione del cluster, devi utilizzare il REGION parametro per specificare la regione in cui si trovano i dati.

Per ulteriori informazioni, consulta Caricamento di dati da Amazon S3.

's3://copy_from_s3_manifest_file'

Specifica la chiave oggetto Amazon S3 per un file manifest che elenca i file di dati da caricare. L'argomento 's3://copy_from_s3_manifest_file' deve fare esplicito riferimento a un singolo file, ad esempio, 's3://amzn-s3-demo-bucket/manifest.txt'. Non può fare riferimento a un prefisso della chiave.

Il manifesto è un file URL di testo in JSON formato che elenca tutti i file che devono essere caricati da Amazon S3. URLInclude il nome del bucket e il percorso completo dell'oggetto per il file. I file specificati nel manifesto possono trovarsi in diversi bucket, ma tutti i bucket devono trovarsi nella stessa AWS regione del cluster Amazon Redshift. Se un file viene elencato due volte, viene caricato due volte. L'esempio seguente mostra il JSON codice di un manifesto che carica tre file.

{ "entries": [ {"url":"s3://amzn-s3-demo-bucket1/custdata.1","mandatory":true}, {"url":"s3://amzn-s3-demo-bucket1/custdata.2","mandatory":true}, {"url":"s3://amzn-s3-demo-bucket2/custdata.1","mandatory":false} ] }

I caratteri delle virgolette doppie sono obbligatori e devono essere virgolette semplici (0x22), non oblique o "intelligenti". Ogni accesso al manifest può facoltativamente includere un flag mandatory. Se mandatory è impostato sutrue, COPY termina se non trova il file per quella voce; in caso contrario, COPY continuerà. Il valore predefinito per mandatory è false.

Quando si esegue il caricamento da file di dati in ORC formato Parquet, è necessario un meta campo, come illustrato nell'esempio seguente.

{ "entries":[ { "url":"s3://amzn-s3-demo-bucket1/orc/2013-10-04-custdata", "mandatory":true, "meta":{ "content_length":99 } }, { "url":"s3://amzn-s3-demo-bucket2/orc/2013-10-05-custdata", "mandatory":true, "meta":{ "content_length":99 } } ] }

Il file manifesto non deve essere crittografato o compresso, anche se sono state specificate ZSTD le opzioni ENCRYPTED GZIP LZOPBZIP2,,, o. COPYrestituisce un errore se il file manifesto specificato non viene trovato o se il file manifest non è formato correttamente.

Se viene utilizzato un file manifest, il MANIFEST parametro deve essere specificato con il COPY comando. Se il MANIFEST parametro non è specificato, COPY si presuppone che il file specificato con FROM sia un file di dati.

Per ulteriori informazioni, consulta Caricamento di dati da Amazon S3.

authorization

Il COPY comando richiede l'autorizzazione per accedere ai dati in un'altra AWS risorsa, tra cui Amazon S3, AmazonEMR, Amazon DynamoDB e Amazon. EC2 È possibile fornire tale autorizzazione facendo riferimento a un ruolo AWS Identity and Access Management (IAM) collegato al cluster (controllo degli accessi basato sui ruoli) o fornendo le credenziali di accesso per un utente (controllo degli accessi basato su chiavi). Per una maggiore sicurezza e flessibilità, consigliamo di utilizzare il controllo degli accessi basato sui ruoli. IAM Per ulteriori informazioni, consulta Parametri di autorizzazione.

MANIFEST

Specifica che un manifest viene utilizzato per identificare i file di dati da caricare da Amazon S3. Se viene utilizzato il MANIFEST parametro, COPY carica i dati dai file elencati nel manifesto a cui fa riferimento 's3://copy_from_s3_manifest_file'. Se il file manifesto non viene trovato o non è formato correttamente, COPY fallisce. Per ulteriori informazioni, consulta Utilizzo di un manifest per specificare i fili di dati.

ENCRYPTED

Una clausola che specifica che i file di input su Amazon S3 sono crittografati utilizzando la crittografia lato client con chiavi simmetriche gestite dal cliente. Per ulteriori informazioni, consulta Caricamento di file di dati crittografati da Amazon S3. Non specificare ENCRYPTED se i file di input sono crittografati utilizzando la crittografia lato server di Amazon S3 (SSE- KMS o -S3). SSE COPYlegge automaticamente i file crittografati lato server.

Se si specifica il ENCRYPTED parametro, è necessario specificare anche il MASTER_SYMMETRIC_KEY parametro o includere il master_symmetric_key valore nella stringa. CREDENTIALS

Se i file crittografati sono in formato compresso, aggiungete il ZSTD parametro GZIPLZOP,BZIP2, o.

I file e JSONPaths i file manifest non devono essere crittografati, anche se l'ENCRYPTEDopzione è specificata.

MASTER_ SYMMETRIC _ KEY 'root_key'

La chiave master simmetrica era utilizzata per crittografare i file di dati su Amazon S3. Se KEY viene specificato MASTER SYMMETRIC _ _, è necessario specificare anche il ENCRYPTED parametro. MASTER_ SYMMETRIC _ non KEY può essere usato con il CREDENTIALS parametro. Per ulteriori informazioni, consulta Caricamento di file di dati crittografati da Amazon S3.

Se i file crittografati sono in formato compresso, aggiungete il ZSTD parametro GZIPLZOP,BZIP2, o.

REGION[IT] 'aws-region'

Speciifica la AWS regione in cui si trovano i dati di origine. REGIONè necessario per COPY un bucket Amazon S3 o una tabella DynamoDB quando la AWS risorsa che contiene i dati non si trova nella stessa regione del cluster Amazon Redshift.

Il valore per aws_region deve corrispondere a una regione elencata nella tabella Regioni ed endpoint di Amazon Redshift.

Se il REGION parametro è specificato, tutte le risorse, incluso un file manifest o più bucket Amazon S3, devono trovarsi nella regione specificata.

Nota

Il trasferimento di dati tra regioni comporta costi aggiuntivi a carico del bucket Amazon S3 o della tabella DynamoDB che contiene i dati. Per ulteriori informazioni sui prezzi, consulta Trasferimento dati OUT da Amazon S3 a un'altra AWS regione nella pagina dei prezzi di Amazon S3 e Data OUT Transfer nella pagina dei prezzi di Amazon DynamoDB.

Per impostazione predefinita, COPY si presuppone che i dati si trovino nella stessa regione del cluster Amazon Redshift.

Parametri facoltativi

Facoltativamente, puoi specificare i seguenti parametri con Amazon COPY S3:

Parametri non supportati

Non puoi utilizzare i seguenti parametri con Amazon COPY S3:

  • SSH

  • READRATIO