Node Shell DataWorks memungkinkan insinyur data menjalankan skrip Shell standar. Node ini ideal untuk tugas seperti operasi file serta berinteraksi dengan Object Storage Service (OSS) atau Network Attached Storage (NAS). Anda dapat mengonfigurasi parameter penjadwalan, mereferensikan resource, menggunakan tool ossutil yang telah dipra-instal untuk mengakses OSS secara aman, serta menjalankan node dengan peran RAM terkait.
Izin
Akun RAM yang digunakan untuk pengembangan node harus ditambahkan ke ruang kerja dan diberi peran Developer atau Workspace Administrator. Untuk informasi selengkapnya, lihat Tambahkan anggota ke ruang kerja.
Catatan penggunaan
Batasan sintaksis
Sintaksis Shell standar didukung. Sintaksis interaktif tidak didukung.
Lingkungan eksekusi dan akses jaringan
Saat Anda menjalankan node Shell pada kelompok sumber daya Serverless, jika layanan target memiliki daftar izin alamat IP, Anda harus menambahkan alamat IP kelompok sumber daya Serverless ke daftar izin tersebut.
Saat menggunakan kelompok sumber daya Serverless, satu task mendukung maksimal
64CU. Kami menyarankan agar tidak melebihi16CU untuk mencegah kekurangan sumber daya yang dapat memengaruhi startup task.
Lingkungan pengembangan kustom
Jika suatu task memerlukan lingkungan pengembangan tertentu, Anda dapat menggunakan fitur custom image di DataWorks untuk membuat image yang disesuaikan guna eksekusi task. Untuk informasi selengkapnya, lihat Custom images.
Resource dan pemanggilan skrip ganda
Hindari meluncurkan sejumlah besar proses anak dalam satu node Shell. Node Shell tidak memiliki batas sumber daya, sehingga jumlah proses anak yang berlebihan dapat memengaruhi task lain dalam kelompok sumber daya yang sama.
Jika node Shell memanggil skrip lain, seperti skrip Python, node Shell akan menunggu hingga skrip yang dipanggil selesai sebelum menyelesaikan eksekusinya.
Panduan cepat
Bagian ini memandu Anda melalui seluruh proses pembuatan, debugging, konfigurasi, dan penerapan node Shell menggunakan contoh sederhana "Hello DataWorks!".
Kembangkan node
Masuk ke Konsol DataWorks. Setelah beralih ke Wilayah target, klik ikon , pilih ruang kerja target dari daftar drop-down, lalu klik Go to DataStudio.
Pada halaman Data Studio, buat node Shell.
Di editor skrip, masukkan kode Shell standar. Sintaksis interaktif tidak didukung.
echo "Hello DataWorks!"Setelah menulis kode, klik Run a task di panel kanan. Pilih kelompok sumber daya untuk debugging dan tentukan parameter eksekusi lain yang diperlukan. Lalu, klik tombol
Run untuk memulai debugging.Setelah skrip berhasil melewati debugging, klik Properties di panel kanan. Konfigurasikan pengaturan penjadwalan untuk lingkungan produksi, seperti siklus penjadwalan, dependensi, dan parameter, agar node dapat berjalan secara otomatis sesuai jadwal.
Setelah mengonfigurasi pengaturan penjadwalan, simpan node dengan mengeklik save sebelum melanjutkan.
Terapkan dan kelola node
Setelah mengonfigurasi pengaturan penjadwalan, Anda dapat mengirim dan menerapkan node Shell ke lingkungan produksi. Untuk informasi selengkapnya tentang proses penerapan, lihat Node and workflow deployment.
Setelah penerapan, task berjalan secara berkala sesuai jadwal. Untuk melihat task yang telah diterapkan, klik ikon
di pojok kiri atas. Di panel navigasi yang muncul, buka untuk membuka Operation Center. Kemudian, di panel navigasi kiri, pilih . Untuk informasi selengkapnya tentang fitur-fitur tersebut, lihat Getting started with Operation Center.
Penggunaan lanjutan
Mereferensikan resource
DataWorks memungkinkan Anda mengunggah resource untuk node Shell menggunakan fitur Resource Management. Untuk informasi selengkapnya, lihat Resource management.
CatatanResource harus dipublikasikan terlebih dahulu sebelum dapat direferensikan oleh node. Jika task produksi menggunakan resource tersebut, Anda juga harus menerapkan resource itu ke lingkungan produksi.
Buka node Shell yang sudah ada untuk membuka editor skrip.
Di panel navigasi kiri, klik ikon
untuk membuka menu Resource. Temukan resource yang ingin direferensikan, klik kanan, lalu pilih Reference Resource. Tindakan ini akan menambahkan referensi ke resource tersebut dalam skrip Shell Anda.
CatatanSaat Anda mereferensikan resource, sistem secara otomatis menyisipkan komentar deklarasi seperti
##@resource_reference{resource_name}di bagian atas skrip.Identifier wajib ini memungkinkan DataWorks mengenali dependensi resource dan secara otomatis memasang resource yang sesuai ke lingkungan eksekusi saat waktu proses. Jangan mengubah atau menghapus komentar ini.
Menggunakan parameter penjadwalan
Parameter penjadwalan dimasukkan ke dalam node Shell sebagai parameter posisional; nama variabel kustom tidak didukung. DataWorks meneruskan nilai parameter yang Anda tetapkan di tab ke skrip Shell secara berurutan sebagai parameter posisional, seperti $1, $2, dan $3. Jika terdapat lebih dari sembilan parameter, Anda harus menggunakan kurung kurawal, misalnya ${10} dan ${11}, agar parameter tersebut diurai dengan benar. Nilai parameter harus dipisahkan dengan spasi, dan urutannya harus persis sesuai dengan posisi yang dirujuk dalam skrip.

Contohnya:
Parameter $1 diberi nilai tanggal saat ini: $[yyyymmdd].
Parameter $2 diberi nilai string tetap
Hello DataWorks.
Jika nilai parameter mengandung spasi, bungkus dengan tanda kutip. Seluruh isi dalam tanda kutip tersebut dianggap sebagai satu parameter.
Untuk mengambil parameter output dari node hulu, Anda harus menambahkan parameter di tab . Tetapkan nilai parameter tersebut ke parameter output dari node hulu.
Menggunakan ossutil untuk mengakses OSS
Node Shell DataWorks secara native mendukung ossutil, tool baris perintah untuk Alibaba Cloud OSS, yang memungkinkan Anda melakukan tugas seperti manajemen bucket, unggah dan unduh file, serta operasi batch. Anda dapat mengonfigurasi kredensial akses untuk ossutil menggunakan file konfigurasi atau parameter baris perintah untuk mengakses OSS.
Untuk mengakses OSS dengan ossutil menggunakan parameter baris perintah, lihat Access OSS using command-line parameters.
Untuk mengakses OSS dengan ossutil menggunakan file konfigurasi, lihat Access OSS using a configuration file.
Pada versi baru Data Studio, node Shell juga mendukung asosiasi peran RAM. Hal ini memungkinkan node menggunakan Alibaba Cloud Security Token Service (STS) untuk memperoleh kredensial keamanan temporary secara dinamis bagi peran tersebut. Kredensial ini kemudian dapat digunakan bersama ossutil. Metode ini memberikan akses aman ke sumber daya cloud target dan menghilangkan kebutuhan untuk menyematkan AccessKey jangka panjang secara langsung dalam skrip Anda. Untuk informasi selengkapnya, lihat Configure node-associated roles.
Tool ossutil telah dipra-instal di lingkungan DataWorks dan tidak memerlukan instalasi manual. Jalur default-nya adalah /home/admin/usertools/tools/ossutil64.
Menggunakan dataset untuk mengakses OSS atau NAS
DataWorks memungkinkan Anda membuat dataset untuk OSS atau NAS. Anda kemudian dapat menggunakan dataset ini dalam node Shell untuk membaca dan menulis ke storage OSS atau NAS selama eksekusi task.
Menjalankan node dengan peran terkait
Anda dapat mengasosiasikan peran RAM tertentu untuk menjalankan task node. Hal ini memungkinkan kontrol izin detail halus dan peningkatan keamanan.
Lampiran: Kode keluar
Kode keluar skrip menunjukkan apakah skrip tersebut berhasil dijalankan.
Kode keluar 0: Menunjukkan keberhasilan.
Kode keluar -1: Menunjukkan bahwa proses dihentikan.
Kode keluar 2: Platform secara otomatis menjalankan ulang task satu kali.
Kode keluar lainnya: Menunjukkan kegagalan.
Gambar berikut menunjukkan contoh log eksekusi standar untuk node Shell yang berhasil dijalankan (kode keluar 0).

Karena mekanisme Shell yang mendasarinya, kode keluar skrip ditentukan oleh perintah terakhir yang dieksekusi.
di pojok kiri atas. Di panel navigasi yang muncul, buka