All Products
Search
Document Center

DataWorks:Shell node

Last Updated:May 09, 2026

Shell node DataWorks dirancang untuk engineer data dan mendukung eksekusi skrip shell standar dalam berbagai skenario, seperti operasi file serta interaksi data dengan OSS dan NAS. Anda dapat mengonfigurasi parameter penjadwalan, mereferensikan resource, mengakses OSS secara aman menggunakan tool ossutil yang telah dipra-instal, serta menjalankan node dengan mengaitkan Peran RAM.

Izin

Tambahkan akun RAM yang digunakan untuk pengembangan node ke ruang kerja target dan berikan peran developer atau administrator ruang kerja. Untuk detailnya, lihat Tambahkan anggota ke ruang kerja.

Catatan penggunaan

  1. Batasan sintaksis

    • Sintaksis shell standar didukung. Sintaksis interaktif tidak didukung.

  2. Lingkungan waktu proses dan akses jaringan

    • Saat menjalankan shell node pada kelompok sumber daya arsitektur tanpa server, jika layanan target memiliki daftar izin (allowlist) yang dikonfigurasi, Anda harus menambahkan alamat IP kelompok sumber daya arsitektur tanpa server ke allowlist aplikasi target.

    • Saat menggunakan kelompok sumber daya arsitektur tanpa server, satu task mendukung maksimal 64CU. Untuk mencegah kekurangan sumber daya dan keterlambatan startup task, jangan melebihi 16CU.

  3. Lingkungan pengembangan lanjutan

    • Jika task Anda memerlukan lingkungan pengembangan tertentu, Anda dapat menggunakan fitur custom image di DataWorks untuk membuat gambar kustom yang disesuaikan guna eksekusi task. Untuk informasi lebih lanjut, lihat Gunakan custom images.

  4. Penggunaan sumber daya dan pemanggilan multi-skrip

    • Hindari meluncurkan sejumlah besar proses anak dalam shell node. Karena shell node saat ini tidak memiliki batasan sumber daya, proses anak yang berlebihan dapat memengaruhi task lain yang berjalan pada kelompok sumber daya penjadwalan yang sama.

    • Jika shell node memanggil skrip lain, seperti skrip Python, shell node akan menunggu hingga skrip yang dipanggil selesai sebelum node tersebut keluar.

Memulai dengan cepat

Bagian ini memandu Anda melalui proses pembuatan, debugging, konfigurasi, dan penerapan shell node menggunakan contoh yang menghasilkan output "Hello DataWorks!".

Kembangkan node

  1. Masuk ke DataWorks console. Setelah beralih ke Wilayah target, klik Data Development and O&M > Data Development pada panel navigasi sebelah kiri. Dari daftar tarik-bawah yang muncul, pilih ruang kerja target, lalu klik Data Analytics.

  2. Di halaman Data Studio, buat shell node.

  3. Masukkan kode shell standar di editor skrip (sintaksis interaktif tidak didukung):

    echo "Hello DataWorks!"
  4. Setelah selesai mengembangkan kode, klik Debug Configuration di sisi kanan, pilih kelompok sumber daya debugging target dan parameter eksekusi lain yang diperlukan, lalu klik tombol imageRun untuk memicu eksekusi debugging lokal.

  5. Setelah skrip lolos verifikasi debugging, klik Scheduling Settings di sisi kanan untuk mengonfigurasi kebijakan penjadwalan tingkat produksi, termasuk jadwal, dependensi, dan pengaturan parameter, sehingga node dapat dieksekusi secara otomatis sesuai periode yang direncanakan.

  6. Setelah menyelesaikan konfigurasi penjadwalan task, Anda harus mengklik Save sebelum melanjutkan ke langkah berikutnya.

Terapkan dan operasikan node

  1. Setelah menyelesaikan pengaturan jadwal, Anda dapat mengirimkan dan menerapkan shell node ke lingkungan produksi untuk mengubah statusnya dari pengembangan menjadi produksi. Untuk prosedur dan proses penerapan spesifik, lihat Deploy a node.

  2. Setelah node diterapkan, task berjalan secara periodik sesuai jadwal yang Anda konfigurasi. Anda dapat mengklik ikon image di pojok kiri atas, lalu pada halaman navigasi yang muncul, pilih All Products > Data Development and O&M > Operation and Maintenance Center untuk membuka Operation Center. Kemudian, di panel navigasi kiri, buka Node O&M > Auto Triggered Task O&M > Auto Triggered Task untuk melihat task terjadwal yang telah diterapkan. Untuk informasi lebih lanjut, lihat Manage scheduled tasks.

Penggunaan lanjutan

Sumber daya referensi

  1. DataWorks memungkinkan Anda mengunggah resource yang dibutuhkan dalam shell node ke DataWorks melalui manajemen sumber daya. Untuk detailnya, lihat Manage resources.

    Catatan

    Resource harus diterapkan sebelum dapat direferensikan oleh node. Jika task produksi memerlukan resource, Anda juga harus menerapkan resource tersebut ke lingkungan produksi.

  2. Buka shell node yang telah Anda buat untuk masuk ke halaman editor skrip.

  3. Klik image di panel navigasi kiri untuk membuka menu manajemen resource, lalu temukan resource yang ingin Anda referensikan. Klik kanan resource tersebut dan pilih reference resource untuk mereferensikannya dalam skrip shell.

    Catatan
    • Setelah resource direferensikan, sistem secara otomatis menyisipkan komentar deklarasi dalam format ##@resource_reference{resource_name} di bagian atas skrip.

    • Komentar ini diperlukan agar DataWorks dapat mengenali dependensi resource dan secara otomatis memasang resource yang sesuai ke lingkungan eksekusi saat runtime. Jangan mengubah atau menghapusnya secara manual.

Gunakan parameter penjadwalan

Parameter penjadwalan disuntikkan ke shell node sebagai parameter posisional. Nama variabel kustom tidak didukung. DataWorks meneruskan nilai parameter yang Anda konfigurasi di Scheduling Settings > Scheduling Parameters ke skrip shell sebagai parameter posisional seperti $1, $2, dan $3, secara berurutan. Saat jumlah parameter melebihi 9, gunakan sintaksis kurung kurawal seperti ${10} dan ${11} untuk memastikan penguraian yang benar. Pisahkan beberapa nilai parameter dengan spasi, dan pastikan urutannya sesuai secara ketat dengan referensi posisional dalam skrip.

Sebagai contoh, dalam kasus ini:

  • Parameter $1 diberi nilai waktu saat ini: $[yyyymmdd].

  • Parameter $2 diberi nilai tetap: Hello DataWorks.

Catatan

  • Jika nilai parameter berisi spasi, bungkus dengan tanda kutip. Seluruh konten di dalam tanda kutip dianggap sebagai satu parameter.

  • Untuk mendapatkan parameter output dari node hulu, tambahkan parameter di Scheduling Settings > Node Context Parameters > Input Parameters dan atur nilai parameternya ke parameter output dari node hulu.

Gunakan ossutil untuk mengakses OSS

Shell node DataWorks secara native mendukung tool baris perintah Alibaba Cloud OSS ossutil, yang memungkinkan Anda mengelola bucket, mengunggah dan mengunduh file, serta melakukan operasi batch. Anda dapat mengonfigurasi kredensial akses menggunakan file konfigurasi atau parameter baris perintah untuk mengakses OSS dengan ossutil.

Di Data Studio versi baru, khusus untuk shell node, selain dua metode di atas, Anda dapat mengaitkan Peran RAM dan menggunakan Alibaba Cloud STS (Security Token Service) untuk mendapatkan kredensial keamanan temporary secara dinamis untuk peran tersebut, lalu menggunakan ossutil untuk mengakses OSS. Metode ini memungkinkan Anda mengakses sumber daya cloud target secara aman tanpa hardcoding kredensial AccessKey jangka panjang dalam kode Anda. Untuk detailnya, lihat Associate a RAM role to run a node.

Catatan

ossutil telah dipra-instal di lingkungan DataWorks. Anda tidak perlu menginstalnya secara manual. Jalur default-nya adalah /home/admin/usertools/tools/ossutil64.

Gunakan dataset untuk mengakses OSS atau NAS

DataWorks memungkinkan Anda membuat dataset OSS atau NAS, lalu mereferensikan dataset tersebut dalam pengembangan shell node untuk membaca dan menulis ke penyimpanan OSS atau NAS selama eksekusi shell node.

Jalankan node dengan menggunakan peran terkait

Anda dapat mengaitkan Peran RAM untuk menjalankan node, yang memungkinkan Anda menjalankan task node dengan Peran RAM tertentu guna kontrol izin detail halus dan manajemen keamanan.

Lampiran: Kode keluar skrip

Anda dapat menggunakan kode keluar skrip untuk lebih lanjut menentukan apakah skrip berhasil dijalankan.

  • Kode keluar 0: Menunjukkan keberhasilan.

  • Kode keluar -1: Menunjukkan proses dihentikan.

  • Kode keluar 2: Menunjukkan bahwa platform perlu menjalankan ulang task secara otomatis sekali.

  • Kode keluar lainnya: Menunjukkan kegagalan.

Berikut ini adalah contoh log waktu proses saat shell node berhasil dijalankan (kode keluar 0).

INFO  Exit code of the Shell command 0
INFO  --- Invocation of Shell command completed ---
INFO  Shell run successfully!
Catatan

Karena mekanisme shell dasar, kode keluar seluruh skrip dalam shell node sama dengan kode keluar perintah terakhir yang dieksekusi.