SALIN dari Amazon S3 - Amazon Redshift

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

SALIN dari Amazon S3

Untuk memuat data dari file yang terletak di satu atau beberapa bucket S3, gunakan klausa FROM untuk menunjukkan cara COPY menemukan file di Amazon S3. Anda dapat memberikan jalur objek ke file data sebagai bagian dari klausa FROM, atau Anda dapat memberikan lokasi file manifes yang berisi daftar jalur objek Amazon S3. COPY dari Amazon S3 menggunakan koneksi HTTPS. Pastikan rentang IP S3 ditambahkan ke daftar izin Anda. Untuk mempelajari lebih lanjut tentang rentang IP S3 yang diperlukan, lihat Isolasi jaringan.

penting

Jika bucket Amazon S3 yang menyimpan file data tidak berada di AWS Wilayah yang sama dengan cluster Anda, Anda harus menggunakan REGION parameter untuk menentukan Wilayah tempat data berada.

Sintaks

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

Contoh

Contoh berikut menggunakan path objek untuk memuat data dari Amazon S3.

copy customer from 's3://mybucket/customer' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

Contoh berikut menggunakan file manifes untuk memuat data dari Amazon S3.

copy customer from 's3://mybucket/cust.manifest' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' manifest;

Parameter

FROM

Sumber data yang akan dimuat. Untuk informasi selengkapnya tentang pengkodean file Amazon S3, lihat. Parameter konversi data

's3://copy_from_s3_objectpath '

Menentukan jalur ke objek Amazon S3 yang berisi data—misalnya,. 's3://mybucket/custdata.txt' Parameter s3://copy_from_s3_objectpath dapat mereferensikan satu file atau satu set objek atau folder yang memiliki key prefix yang sama. Misalnya, nama custdata.txt adalah key prefix yang mengacu pada sejumlah file fisik:custdata.txt,,, custdata.txt.1 custdata.txt.2custdata.txt.bak, dan sebagainya. Key prefix juga dapat mereferensikan sejumlah folder. Misalnya, 's3://mybucket/custfolder' mengacu pada foldercustfolder,custfolder_1,custfolder_2, dan sebagainya. Jika key prefix mereferensikan beberapa folder, semua file dalam folder dimuat. Jika key prefix cocok dengan file serta folder, seperticustfolder.log, COPY mencoba memuat file juga. Jika key prefix dapat mengakibatkan COPY mencoba memuat file yang tidak diinginkan, gunakan file manifes. Untuk informasi lebih lanjut, lihatcopy_from_s3_manifest_file, berikut.

penting

Jika bucket S3 yang menyimpan file data tidak berada di AWS Region yang sama dengan cluster Anda, Anda harus menggunakan REGION parameter tersebut untuk menentukan Wilayah tempat data berada.

Untuk informasi selengkapnya, lihat Memuat data dari Amazon S3.

's3://copy_from_s3_manifest_file '

Menentukan kunci objek Amazon S3 untuk file manifes yang mencantumkan file data yang akan dimuat. Argumen 's3://copy_from_s3_manifest_file' harus secara eksplisit mereferensikan satu file—misalnya,. 's3://mybucket/manifest.txt' Itu tidak dapat mereferensikan key prefix.

Manifes adalah file teks dalam format JSON yang mencantumkan URL setiap file yang akan dimuat dari Amazon S3. URL menyertakan nama bucket dan path objek lengkap untuk file tersebut. File yang ditentukan dalam manifes dapat berada di bucket yang berbeda, tetapi semua bucket harus berada di AWS Wilayah yang sama dengan cluster Amazon Redshift. Jika file terdaftar dua kali, file dimuat dua kali. Contoh berikut menunjukkan JSON untuk manifes yang memuat tiga file.

{ "entries": [ {"url":"s3://mybucket-alpha/custdata.1","mandatory":true}, {"url":"s3://mybucket-alpha/custdata.2","mandatory":true}, {"url":"s3://mybucket-beta/custdata.1","mandatory":false} ] }

Karakter tanda kutip ganda diperlukan, dan harus berupa tanda kutip sederhana (0x22), bukan tanda kutip miring atau “pintar”. Setiap entri dalam manifes secara opsional dapat menyertakan mandatory bendera. Jika mandatory diatur ketrue, COPY berakhir jika tidak menemukan file untuk entri itu; jika tidak, COPY akan berlanjut. Nilai default-nya mandatory is false.

Saat memuat dari file data dalam format ORC atau Parket, meta bidang diperlukan, seperti yang ditunjukkan pada contoh berikut.

{ "entries":[ { "url":"s3://mybucket-alpha/orc/2013-10-04-custdata", "mandatory":true, "meta":{ "content_length":99 } }, { "url":"s3://mybucket-beta/orc/2013-10-05-custdata", "mandatory":true, "meta":{ "content_length":99 } } ] }

File manifes tidak boleh dienkripsi atau dikompresi, bahkan jika opsi ENCRYPTED, GZIP, LZOP, BZIP2, atau ZSTD ditentukan. COPY mengembalikan kesalahan jika file manifes yang ditentukan tidak ditemukan atau file manifes tidak terbentuk dengan benar.

Jika file manifes digunakan, parameter MANIFEST harus ditentukan dengan perintah COPY. Jika parameter MANIFEST tidak ditentukan, COPY mengasumsikan bahwa file yang ditentukan dengan FROM adalah file data.

Untuk informasi selengkapnya, lihat Memuat data dari Amazon S3.

otorisasi

Perintah COPY memerlukan otorisasi untuk mengakses data di AWS sumber daya lain, termasuk di Amazon S3, Amazon EMR, Amazon DynamoDB, dan Amazon EC2. Anda dapat memberikan otorisasi tersebut dengan mereferensikan peran AWS Identity and Access Management (IAM) yang dilampirkan ke klaster Anda (kontrol akses berbasis peran) atau dengan memberikan kredensyal akses untuk pengguna (kontrol akses berbasis kunci). Untuk meningkatkan keamanan dan fleksibilitas, sebaiknya gunakan kontrol akses berbasis peran IAM. Untuk informasi selengkapnya, lihat Parameter otorisasi.

NYATA

Menentukan bahwa manifes digunakan untuk mengidentifikasi file data yang akan dimuat dari Amazon S3. Jika parameter MANIFEST digunakan, COPY memuat data dari file yang tercantum dalam manifes yang direferensikan oleh 's3://copy_from_s3_manifest_file'. Jika file manifes tidak ditemukan, atau tidak dibentuk dengan benar, COPY gagal. Untuk informasi selengkapnya, lihat Menggunakan manifes untuk menentukan file data.

DIENKRIPSI

Klausa yang menetapkan bahwa file input di Amazon S3 dienkripsi menggunakan enkripsi sisi klien dengan kunci yang dikelola pelanggan. Untuk informasi selengkapnya, lihat Memuat file data terenkripsi dari Amazon S3. Jangan tentukan ENCRYPTED jika file input dienkripsi menggunakan enkripsi sisi server Amazon S3 (SSE-KMS atau SSE-S3). COPY membaca file terenkripsi sisi server secara otomatis.

Jika Anda menentukan parameter ENCRYPTED, Anda juga harus menentukan MASTER_SYMMETRIC_KEY parameter atau menyertakan master_symmetric_key nilai dalam string. CREDENTIALS

Jika file terenkripsi dalam format terkompresi, tambahkan parameter GZIP, LZOP, BZIP2, atau ZSTD.

File manifes dan file JSONPaths tidak boleh dienkripsi, bahkan jika opsi ENCRYPTED ditentukan.

MASTER_SYMMETRIC_KEY 'root_key'

Kunci simetris root yang digunakan untuk mengenkripsi file data di Amazon S3. Jika MASTER_SYMMETRIC_KEY ditentukan, parameter juga harus ditentukan. ENCRYPTED MASTER_SYMMETRIC_KEY tidak dapat digunakan dengan parameter CREDENTIALS. Untuk informasi selengkapnya, lihat Memuat file data terenkripsi dari Amazon S3.

Jika file terenkripsi dalam format terkompresi, tambahkan parameter GZIP, LZOP, BZIP2, atau ZSTD.

WILAYAH [AS] 'aws-region'

Menentukan AWS Wilayah tempat data sumber berada. REGION diperlukan untuk COPY dari bucket Amazon S3 atau tabel DynamoDB jika AWS sumber daya yang berisi data tidak berada di Wilayah yang sama dengan cluster Amazon Redshift.

Nilai untuk aws_region harus cocok dengan Region yang tercantum di wilayah Amazon Redshift dan tabel titik akhir.

Jika parameter REGION ditentukan, semua sumber daya, termasuk file manifes atau beberapa bucket Amazon S3, harus berada di Wilayah yang ditentukan.

catatan

Mentransfer data di seluruh Wilayah menimbulkan biaya tambahan terhadap bucket Amazon S3 atau tabel DynamoDB yang berisi data. Untuk informasi selengkapnya tentang harga, lihat Transfer Data KELUAR Dari Amazon S3 Ke AWS Wilayah Lain di halaman Harga Amazon S3 dan Transfer Data KELUAR di halaman Harga Amazon DynamoDB.

Secara default, COPY mengasumsikan bahwa data terletak di Wilayah yang sama dengan cluster Amazon Redshift.

Parameter opsional

Anda dapat secara opsional menentukan parameter berikut dengan COPY dari Amazon S3:

Parameter yang tidak didukung

Anda tidak dapat menggunakan parameter berikut dengan COPY dari Amazon S3:

  • SSH

  • RASIO BACA