- Amazon Aurora:

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Anda mengimpor data dari bucket Amazon S3 dengan menggunakan fungsi table_import_from_s3 aws_s3. Untuk informasi referensi, lihat aws_s3.table_import_from_s3.

catatan

Contoh berikut menggunakan metode IAM peran untuk mengizinkan akses ke bucket Amazon S3. Dengan demikian, panggilan fungsi aws_s3.table_import_from_s3 tidak termasuk parameter kredensial.

Berikut ini menunjukkan contoh khas.

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

Parameternya sebagai berikut:

  • t1— Nama untuk tabel di cluster Postgre SQL DB untuk menyalin data ke dalam.

  • '' – Daftar opsional kolom dalam tabel basis data. Anda dapat menggunakan parameter ini untuk menunjukkan kolom data S3 mana yang masuk ke kolom tabel mana. Jika tidak ada kolom yang ditentukan, semua kolom akan disalin ke tabel. Untuk contoh cara menggunakan daftar kolom, lihat Mengimpor file Amazon S3 yang menggunakan pemisah kustom.

  • (format csv)— Argumen Postgre SQLCOPY. Proses penyalinan menggunakan argumen dan format SQL COPY perintah Postgre untuk mengimpor data. Pilihan untuk format termasuk nilai dipisahkan koma (CSV) seperti yang ditunjukkan dalam contoh ini, teks, dan biner. Defaultnya adalah teks.

  • s3_uri – Struktur yang berisi informasi yang mengidentifikasi file Amazon S3. Untuk contoh penggunaan fungsi aws_commons.create_s3_uri untuk membuat struktur s3_uri, lihat Ikhtisar impor data dari data Amazon S3.

Untuk informasi selengkapnya tentang fungsi ini, lihat aws_s3.table_import_from_s3.

Fungsi aws_s3.table_import_from_s3 menampilkan teks. Untuk menentukan jenis file lain yang akan diimpor dari bucket Amazon S3, lihat salah satu contoh berikut.

catatan

Mengimpor file 0 byte akan menyebabkan kesalahan.

Mengimpor file Amazon S3 yang menggunakan pemisah kustom

Contoh berikut menunjukkan cara mengimpor file yang menggunakan pemisah kustom. Ini juga menunjukkan cara mengontrol lokasi penempatan data dalam tabel basis data menggunakan parameter column_list fungsi aws_s3.table_import_from_s3.

Untuk contoh ini, asumsikan bahwa informasi berikut ini diatur ke dalam kolom yang dipisahkan tanda pipa di file Amazon S3.

1|foo1|bar1|elephant1 2|foo2|bar2|elephant2 3|foo3|bar3|elephant3 4|foo4|bar4|elephant4 ...
Untuk mengimpor file yang menggunakan pemisah kustom
  1. Buat tabel dalam basis data untuk data yang diimpor.

    postgres=> CREATE TABLE test (a text, b text, c text, d text, e text);
  2. Gunakan bentuk berikut fungsi aws_s3.table_import_from_s3 berikut untuk mengimpor data dari file Amazon S3.

    Anda dapat memasukkan panggilan fungsi aws_commons.create_s3_uri sebaris dalam panggilan fungsi aws_s3.table_import_from_s3 untuk menentukan 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') );

Data tersebut ini berada dalam tabel di kolom berikut.

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

Mengimpor file terkompresi (gzip) Amazon S3

Contoh berikut menunjukkan cara mengimpor file dari Amazon S3 yang dikompresi menggunakan gzip. File yang Anda impor harus memiliki metadata Amazon S3 berikut:

  • Kunci: Content-Encoding

  • Nilai: gzip

Jika Anda mengunggah file menggunakan AWS Management Console, metadata biasanya diterapkan oleh sistem. Untuk informasi tentang mengunggah file ke Amazon S3 menggunakan AWS Management Console, AWS CLI, atauAPI, lihat Mengunggah objek di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Untuk informasi selengkapnya tentang metadata Amazon S3 dan detail tentang metadata yang disediakan sistem, lihat Mengedit metadata objek di konsol Amazon S3 di Panduan Pengguna Amazon Simple Storage Service.

Impor file gzip ke berikut.

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' );

Mengimpor file Amazon S3 yang dienkode

Contoh berikut menunjukkan cara mengimpor file dari Amazon S3 yang memiliki pengodean 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') );