Langkah 5: Buat file manifes - Amazon Redshift

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

Langkah 5: Buat file manifes

Perintah COPY dapat terhubung ke beberapa host menggunakan SSH, dan dapat membuat beberapa koneksi SSH ke setiap host. COPY menjalankan perintah melalui setiap koneksi host, dan kemudian memuat output dari perintah secara paralel ke dalam tabel. File manifes adalah file teks dalam format JSON yang digunakan Amazon Redshift untuk terhubung ke host. File manifes menentukan titik akhir host SSH dan perintah yang dijalankan pada host untuk mengembalikan data ke Amazon Redshift. Secara opsional, Anda dapat menyertakan kunci publik host, nama pengguna login, dan bendera wajib untuk setiap entri.

Buat file manifes di komputer lokal Anda. Pada langkah selanjutnya, Anda mengunggah file ke Amazon S3.

File manifes dalam format berikut:

{ "entries": [ {"endpoint":"<ssh_endpoint_or_IP>", "command": "<remote_command>", "mandatory":true, "publickey": "<public_key>", "username": "<host_user_name>"}, {"endpoint":"<ssh_endpoint_or_IP>", "command": "<remote_command>", "mandatory":true, "publickey": "<public_key>", "username": "host_user_name"} ] }

File manifes berisi satu konstruksi “entri” untuk setiap koneksi SSH. Setiap entri mewakili koneksi SSH tunggal. Anda dapat memiliki beberapa koneksi ke satu host atau beberapa koneksi ke beberapa host. Tanda kutip ganda diperlukan seperti yang ditunjukkan, baik untuk nama bidang maupun nilainya. Satu-satunya nilai yang tidak memerlukan tanda kutip ganda adalah nilai Boolean true atau false untuk bidang wajib.

Berikut ini menjelaskan bidang dalam file manifes.

titik akhir

Alamat URL atau alamat IP host. Misalnya, "ec2-111-222-333.compute-1.amazonaws.com" atau "22.33.44.56

perintah

Perintah yang akan dijalankan oleh host untuk menghasilkan teks atau biner (gzip, lzop, atau bzip2) output. Perintah dapat berupa perintah apa pun yang pengguna “host_user_name” memiliki izin untuk dijalankan. Perintahnya bisa sesederhana mencetak file, atau bisa menanyakan database atau meluncurkan skrip. Output (file teks, file biner gzip, file biner lzop, atau file biner bzip2) harus dalam bentuk yang dapat dikonsumsi oleh perintah Amazon Redshift COPY. Untuk informasi selengkapnya, lihat Mempersiapkan data masukan Anda.

kunci publik

(Opsional) Kunci publik tuan rumah. Jika tersedia, Amazon Redshift akan menggunakan kunci publik untuk mengidentifikasi host. Jika kunci publik tidak disediakan, Amazon Redshift tidak akan mencoba identifikasi host. Misalnya, jika kunci publik host jarak jauh adalah:ssh-rsa AbcCbaxxx…xxxDHKJ root@amazon.com, masukkan teks berikut di bidang kunci publik:AbcCbaxxx…xxxDHKJ.

wajib

(Opsional) Menunjukkan apakah perintah COPY harus gagal jika koneksi gagal. Nilai default-nya false. Jika Amazon Redshift tidak berhasil membuat setidaknya satu koneksi, perintah COPY gagal.

nama pengguna

(Opsional) Nama pengguna yang akan digunakan untuk masuk ke sistem host dan menjalankan perintah jarak jauh. Nama login pengguna harus sama dengan login yang digunakan untuk menambahkan kunci publik ke file kunci resmi host di Langkah 2. Nama pengguna default adalah “redshift”.

Contoh berikut menunjukkan manifes lengkap untuk membuka empat koneksi ke host yang sama dan menjalankan perintah yang berbeda melalui setiap koneksi:

{ "entries": [ {"endpoint":"ec2-184-72-204-112.compute-1.amazonaws.com", "command": "cat loaddata1.txt", "mandatory":true, "publickey": "ec2publickeyportionoftheec2keypair", "username": "ec2-user"}, {"endpoint":"ec2-184-72-204-112.compute-1.amazonaws.com", "command": "cat loaddata2.txt", "mandatory":true, "publickey": "ec2publickeyportionoftheec2keypair", "username": "ec2-user"}, {"endpoint":"ec2-184-72-204-112.compute-1.amazonaws.com", "command": "cat loaddata3.txt", "mandatory":true, "publickey": "ec2publickeyportionoftheec2keypair", "username": "ec2-user"}, {"endpoint":"ec2-184-72-204-112.compute-1.amazonaws.com", "command": "cat loaddata4.txt", "mandatory":true, "publickey": "ec2publickeyportionoftheec2keypair", "username": "ec2-user"} ] }