COPYdari Amazon S3 - Amazon Redshift

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

COPYdari Amazon S3

Untuk memuat data dari file yang terletak di satu atau beberapa bucket S3, gunakan FROM klausa untuk menunjukkan cara COPY menemukan file di Amazon S3. Anda dapat memberikan jalur objek ke file data sebagai bagian dari FROM klausa, atau Anda dapat memberikan lokasi file manifes yang berisi daftar jalur objek Amazon S3. COPYdari Amazon S3 menggunakan koneksiHTTPS. 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://amzn-s3-demo-bucket/customer' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

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

copy customer from 's3://amzn-s3-demo-bucket/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://amzn-s3-demo-bucket/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://amzn-s3-demo-bucket/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 upaya 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://amzn-s3-demo-bucket/manifest.txt' Itu tidak dapat mereferensikan key prefix.

Manifes adalah file teks dalam JSON format yang URL mencantumkan setiap file yang akan dimuat dari Amazon S3. URLTermasuk nama bucket dan path objek lengkap untuk file. 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://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} ] }

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 ORC atau format Parket, meta bidang diperlukan, seperti yang ditunjukkan pada contoh berikut.

{ "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 } } ] }

File manifes tidak boleh dienkripsi atau dikompresi, bahkan jikaENCRYPTED,, GZIP LZOPBZIP2, atau ZSTD opsi ditentukan. COPYmengembalikan kesalahan jika file manifes yang ditentukan tidak ditemukan atau file manifes tidak terbentuk dengan benar.

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

Untuk informasi selengkapnya, lihat Memuat data dari Amazon S3.

otorisasi

COPYPerintah tersebut 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 kredenal akses untuk pengguna (kontrol akses berbasis kunci). Untuk meningkatkan keamanan dan fleksibilitas, sebaiknya gunakan kontrol akses IAM berbasis peran. Untuk informasi selengkapnya, lihat Parameter otorisasi.

MANIFEST

Menentukan bahwa manifes digunakan untuk mengidentifikasi file data yang akan dimuat dari Amazon S3. Jika MANIFEST parameter 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.

ENCRYPTED

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 apakah file input dienkripsi menggunakan enkripsi sisi server Amazon S3 (- atau -S3). SSE KMS SSE COPYmembaca file terenkripsi sisi server secara otomatis.

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

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

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

MASTER_ SYMMETRIC _ KEY 'root_key'

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

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

REGION[AS] 'aws-region'

Menentukan AWS Wilayah tempat data sumber berada. REGIONdiperlukan 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 REGION parameter 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 OUT Dari Amazon S3 Ke AWS Wilayah Lain di halaman Harga Amazon S3 dan OUT Transfer Data di halaman Harga Amazon DynamoDB.

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

Parameter opsional

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

Parameter yang tidak didukung

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

  • SSH

  • READRATIO