- Amazon Aurora

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

Importa i dati dal bucket Amazon S3 utilizzando la funzione table_import_from_s3 dell'estensione aws_s3. Per informazioni di riferimento, consulta aws_s3.table_import_from_s3.

Nota

Gli esempi seguenti utilizzano il metodo IAM role per consentire l'accesso al bucket Amazon S3. Pertanto, le chiamate della funzione aws_s3.table_import_from_s3 non includono parametri di credenziali.

Di seguito viene illustrato un tipico esempio.

postgres=> SELECT aws_s3.table_import_from_s3( 't1', '', '(format csv)', :'s3_uri' );

I parametri sono i seguenti:

  • t1— Il nome della tabella nell' del cluster Postgre SQL DB in cui copiare i dati.

  • '' – Un elenco opzionale di colonne nella tabella di database. Questo parametro può essere utilizzato per indicare quali colonne di dati S3 vanno in quali colonne della tabella. Se non viene specificata alcuna colonna, tutte le colonne vengono copiate nella tabella. Per un esempio di utilizzo di un elenco di colonne, consulta Importazione di un file Amazon S3 che utilizza un delimitatore personalizzato.

  • (format csv)— Argomenti SQL COPY Postgre. Il processo di copia utilizza gli argomenti e il formato del SQL COPY comando Postgre per importare i dati. Le scelte per il formato includono il valore separato da virgole (CSV), come mostrato in questo esempio, text e binary. Il valore predefinito è testo.

  • s3_uri – Una struttura contenente le informazioni che identificano il file Amazon S3. Per un esempio di utilizzo della funzione aws_commons.create_s3_uri per creare una struttura s3_uri, consulta Panoramica dell'importazione di dati dai dati di Amazon S3.

Per ulteriori informazioni su questa funzione, consulta aws_s3.table_import_from_s3.

La funzione restituisce aws_s3.table_import_from_s3. Per specificare altri tipi di file da importare da un bucket Amazon S3, consulta uno dei seguenti esempi.

Nota

L'importazione di un file da 0 byte genererà un errore.

Importazione di un file Amazon S3 che utilizza un delimitatore personalizzato

Il seguente esempio mostra come importare un file che utilizza un delimitatore personalizzato. Mostra anche come controllare dove inserire i dati nella tabella di database utilizzando il parametro column_list della funzione aws_s3.table_import_from_s3.

In questo esempio si presuppone che le seguenti informazioni siano organizzate in colonne delimitate da pipe nel file Amazon S3.

1|foo1|bar1|elephant1 2|foo2|bar2|elephant2 3|foo3|bar3|elephant3 4|foo4|bar4|elephant4 ...
Per importare un file che utilizza un delimitatore personalizzato
  1. Creare una tabella nel database per i dati importati.

    postgres=> CREATE TABLE test (a text, b text, c text, d text, e text);
  2. Utilizzare il seguente formato della funzione aws_s3.table_import_from_s3 per importare i dati dal file Amazon S3.

    Si può includere la chiamata inline di funzione aws_commons.create_s3_uri all'interno della chiamata di funzione aws_s3.table_import_from_s3 per specificare il file.

    postgres=> SELECT aws_s3.table_import_from_s3( 'test', 'a,b,d,e', 'DELIMITER ''|''', aws_commons.create_s3_uri('amzn-s3-demo-bucket', 'pipeDelimitedSampleFile', 'us-east-2') );

I dati sono ora nella tabella nelle seguenti colonne.

postgres=> SELECT * FROM test; a | b | c | d | e ---+------+---+---+------+----------- 1 | foo1 | | bar1 | elephant1 2 | foo2 | | bar2 | elephant2 3 | foo3 | | bar3 | elephant3 4 | foo4 | | bar4 | elephant4

Importazione di un file compresso (gzip) Amazon S3

Il seguente esempio mostra come importare da Amazon S3 un file compresso con gzip. Il file importato deve avere i seguenti metadati Amazon S3:

  • Chiave: Content-Encoding

  • Valore: gzip

Se caricate il file utilizzando il AWS Management Console, i metadati vengono in genere applicati dal sistema. Per informazioni sul caricamento di file su Amazon S3 utilizzando AWS Management Console, il AWS CLI, oppure consulta Caricamento di oggetti nella Guida per l'utente di Amazon Simple Storage Service. API

Per ulteriori informazioni sui metadati di Amazon S3 e i dettagli sui metadati forniti dal sistema, consulta la sezione Modifica dei metadati degli oggetti nella console Amazon S3 nella Guida per l'utente di Amazon Simple Storage Service.

Importa il file gzip nel .

postgres=> CREATE TABLE test_gzip(id int, a text, b text, c text, d text); postgres=> SELECT aws_s3.table_import_from_s3( 'test_gzip', '', '(format csv)', 'amzn-s3-demo-bucket', 'test-data.gz', 'us-east-2' );

Importazione di un file Amazon S3 codificato

Il seguente esempio mostra come importare da Amazon S3 un file codificato con Windows-1252

postgres=> SELECT aws_s3.table_import_from_s3( 'test_table', '', 'encoding ''WIN1252''', aws_commons.create_s3_uri('amzn-s3-demo-bucket', 'SampleFile', 'us-east-2') );