Anda dapat menggunakan node HTTP Trigger DataWorks untuk memulai suatu task dari sistem penjadwalan eksternal ketika task tersebut selesai. Topik ini menjelaskan cara mengintegrasikan node tersebut dengan sistem eksternal serta mencakup catatan penting.
Prasyarat
DataWorks Enterprise Edition atau edisi yang lebih tinggi telah diaktifkan.
Workflow dan compute node yang akan dipicu telah dibuat. Misalnya, jika Anda menggunakan MaxCompute untuk komputasi berbasis SQL, Anda dapat membuat task ODPS SQL. Untuk informasi selengkapnya, lihat Mengembangkan task ODPS SQL.
Informasi latar belakang
Sistem penjadwalan eksternal dapat memicu task dalam dua skenario umum:
Node HTTP Trigger tidak memiliki ancestor node
Dalam skenario ini, buat node HTTP Trigger, konfigurasikan pemicu eksternal, lalu atur properti penjadwalan dan dependensi untuk semua node di DataWorks. Untuk informasi selengkapnya, lihat Membuat node HTTP Trigger dan Mengonfigurasi pemicu di sistem penjadwalan eksternal.Node HTTP Trigger memiliki satu atau beberapa ancestor node
Dalam skenario ini:Buat node HTTP Trigger, konfigurasikan pemicu eksternal, lalu atur properti penjadwalan dan dependensi untuk semua node di DataWorks. Untuk informasi selengkapnya, lihat Membuat node HTTP Trigger dan Mengonfigurasi pemicu di sistem penjadwalan eksternal.
Secara default, node HTTP Trigger bergantung pada root node workflow. Jika memiliki ancestor node lain, Anda harus mengubah dependensi secara manual ke ancestor node yang benar.
Node HTTP Trigger hanya memulai descendant node-nya setelah ancestor node-nya berhasil dijalankan dan sistem penjadwalan eksternal mengirim permintaan pemicu.
Jika sistem eksternal mengirim permintaan pemicu sebelum ancestor node selesai, node HTTP Trigger akan menahan permintaan tersebut dan menunggu. Setelah ancestor node selesai, node tersebut akan memulai descendant node-nya.
PentingPermintaan pemicu ini hanya ditahan selama 24 jam. Jika ancestor node tidak selesai dalam periode tersebut, permintaan akan kedaluwarsa.
Batasan
Fitur node HTTP Trigger hanya tersedia di DataWorks Enterprise Edition dan versi yang lebih baru. Untuk informasi selengkapnya tentang edisi DataWorks, lihat Fitur berdasarkan edisi.
Node HTTP Trigger hanya mendukung pembuatan instans untuk hari berikutnya (penjadwalan T+1). Instans pengisian ulang data tidak dapat dipicu. Oleh karena itu, sistem eksternal hanya dapat memicu node HTTP Trigger pada hari setelah node tersebut dideploy ke lingkungan produksi.
Node HTTP Trigger hanya berfungsi sebagai pemicu dan tidak dapat menjalankan komputasi. Anda harus mengonfigurasi task aktual sebagai descendant node.
Untuk menjalankan ulang node HTTP Trigger dalam workflow yang sedang berjalan, Anda harus menjalankan ulang node tersebut dan mengirim permintaan pemicu baru dari sistem eksternal. Menjalankan ulang node HTTP Trigger tidak akan memicu descendant node yang telah berhasil dijalankan sebelumnya.
Untuk mendapatkan hasil historis dari descendant node dalam workflow yang sedang berjalan, lakukan pengisian ulang data. Untuk informasi selengkapnya, lihat Mengelola instans pengisian ulang data. Operasi pengisian ulang data tidak memerlukan permintaan pemicu dari sistem penjadwalan eksternal. Node HTTP Trigger langsung memicu descendant node-nya. Artinya, sistem eksternal tidak dapat memicu task pengisian ulang untuk node tersebut.
Wilayah yang didukung: China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Chengdu), China (Hong Kong), Jepang (Tokyo), Singapura, Malaysia (Kuala Lumpur), Jerman (Frankfurt), dan AS (Silicon Valley).
Kondisi pemicu
Node HTTP Trigger hanya dijalankan jika kondisi berikut terpenuhi:
Instans siklus untuk node tersebut harus ada. Anda dapat menemukan instans ini di halaman Auto Triggered Instances pada halaman Cycle Instance. Hingga API RunTriggerNode berhasil dipanggil, instans tetap dalam status menunggu pemicu, sehingga memblokir descendant node-nya. Setelah pemanggilan berhasil, node tersebut dijalankan.
Semua ancestor node telah berhasil dijalankan.
Waktu penjadwalan node telah tiba.
Kelompok sumber daya penjadwalan node memiliki sumber daya yang mencukupi.
Node HTTP Trigger tidak dalam status beku.
Node hanya dapat dipicu jika berada dalam status menunggu pemicu. Instans yang telah berhasil tidak dapat dipicu kembali.
Membuat node HTTP Trigger
Buka halaman Data Studio.
Login ke Konsol DataWorks. Di wilayah target, klik di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Development.
Di halaman DataStudio, arahkan pointer ke ikon
lalu pilih .Atau, buka workflow target, klik kanan General, lalu pilih .
Di kotak dialog Create Node, pilih Path dan masukkan Name.
- Klik Commit.
Klik Scheduling Settings di sisi kanan tab konfigurasi node untuk mengonfigurasi properti penjadwalan node. Untuk informasi selengkapnya, lihat Mengonfigurasi properti dasar.
CatatanSecara default, node HTTP Trigger bergantung pada root node workflow. Jika memiliki ancestor node lain, Anda harus mengubah dependensi secara manual ke ancestor node yang benar.
Simpan dan commit node.
PentingAnda harus mengatur parameter Rerun dan Parent Nodes sebelum dapat melakukan commit node.
Klik ikon
di bilah alat untuk menyimpan node.Klik ikon
di bilah alat.Di kotak dialog Commit Node, masukkan komentar Anda di bidang Change description.
Klik OK.
Uji node tersebut. Untuk informasi selengkapnya, lihat Mengelola tugas terjadwal.
Mengonfigurasi pemicu eksternal
Untuk mengonfigurasi pemicu eksternal, panggil API RunTriggerNode versi 2020-05-18 dengan salah satu cara berikut untuk memulai node tersebut.
Java
Instal SDK Java. Untuk informasi selengkapnya, lihat Memulai.
Gunakan konfigurasi pom berikut untuk SDK DataWorks.
<dependency> <groupId>com.aliyun</groupId> <artifactId>dataworks_public20200518</artifactId> <version>8.0.0</version> </dependency>Kode contoh
Anda dapat membuka halaman debugging RunTriggerNode dan melihat contoh lengkap Java di tab SDK Sample. Di OpenAPI Explorer, pada halaman RunTriggerNode (run a trigger node), atur Endpoint ke China (Shanghai). Di tab kiri Parameter Configuration, isi parameter yang diperlukan berikut: NodeId (ID node pemicu), CycleTime (timestamp milidetik 13 digit dari task yang sesuai dengan node pemicu), BizDate (timestamp tanggal bisnis dari instans tempat node pemicu berada), dan AppId (ID ruang kerja DataWorks tempat node pemicu berada). Di sisi kanan, pilih tab SDK Sample dan pilih bahasa Java untuk melihat kode contoh SDK Java. Dalam kode tersebut, endpoint-nya adalah
dataworks.cn-shanghai.aliyuncs.com, dan Anda dapat menggunakan Pasangan Kunci Akses (AK&SK) untuk melakukan inisialisasi client. Klik Run Sample untuk melakukan pemanggilan, atau klik Download Full Project untuk mendapatkan kode lengkapnya.
Python
Instal SDK Python. Untuk informasi selengkapnya, lihat Mengintegrasikan SDK.
Jalankan perintah berikut untuk menginstal SDK DataWorks.
pip install aliyun-python-sdk-dataworks-public==2.1.2Kode contoh
Anda dapat membuka halaman debugging RunTriggerNode dan melihat contoh lengkap Python di tab SDK Example. Di halaman API RunTriggerNode di OpenAPI Explorer, ubah bahasa ke Python, pilih China (Shanghai) sebagai endpoint, lalu masukkan empat parameter yang diperlukan di area input parameter: NodeId, CycleTime, BizDate, dan AppId. Area kode di sisi kanan secara otomatis menghasilkan kode contoh SDK Python yang mencakup logika inisialisasi client untuk SDK
alibabacloud_dataworks_public20200518(membuat client akun dengan menggunakan Pasangan Kunci Akses). Anda dapat mengklik Run Example untuk melakukan debugging online, atau klik Download Full Project untuk mendapatkan kode lengkapnya.
Pemanggilan API
Untuk detail tentang pemanggilan API, lihat RunTriggerNode.
Referensi
Anda juga dapat menggunakan node HTTP Trigger untuk memulai task lintas penyewa. Untuk informasi selengkapnya, lihat Menggunakan node HTTP Trigger untuk memulai node di lingkungan cross-tenant.