All Products
Search
Document Center

DataWorks:Node pemicu HTTP

Last Updated:Jun 25, 2026

DataWorks menyediakan node pemicu HTTP yang memungkinkan Anda memicu node tersebut beserta node downstream-nya dalam suatu workflow dari lingkungan eksternal, seperti sistem lokal atau lingkungan lintas tenant, melalui pemanggilan operasi OpenAPI. Fitur ini memungkinkan pemicuan tugas dari sistem lokal atau penanganan dependensi tugas lintas tenant.

Ikhtisar produk

Node pemicu HTTP adalah node virtual khusus yang memungkinkan Anda menggunakan operasi DataWorks OpenAPI TriggerSchedulerTaskInstance untuk memicu penjadwalan node ini dan node downstream-nya.

Mekanisme pemicu

image

Node pemicu HTTP hanya memicu node downstream-nya setelah node upstream-nya berhasil dijalankan dan sistem eksternal mengirimkan perintah penjadwalan. Untuk diagram penggunaan node pemicu HTTP, lihat Diagram penggunaan.

Diagram penggunaan

Node pemicu HTTP umumnya digunakan untuk komunikasi antara lingkungan eksternal dan sistem penjadwalan DataWorks.

Deskripsi diagram:

  1. Di Data Studio, buat workflow yang berisi node pemicu HTTP, konfigurasikan dependensi untuk setiap node, lalu terapkan workflow tersebut ke Operation Center.

  2. Sistem secara otomatis menghasilkan instans terjadwal berdasarkan waktu penjadwalan. Anda dapat memperoleh informasi tentang node pemicu HTTP, seperti ID tugas dan waktu pemicu, dari instans-instans tersebut.

  3. Gunakan informasi ini dalam kode Java atau Python, atau pada halaman debugging API, untuk memanggil operasi OpenAPI dan memicu node tersebut. Untuk memicu instans tertentu beserta workflow selanjutnya, atur parameter TriggerTime ke nilai tetap. Untuk memicu semua instans secara dinamis, atur TriggerTime ke variabel dinamis. Setelah node pemicu HTTP menerima dan memvalidasi perintah pemicu, node tersebut menjalankan node downstream secara berurutan.

Kondisi pemicu

Node pemicu HTTP hanya dapat dipicu jika kondisi-kondisi berikut terpenuhi:

  • Instans terjadwal dari node pemicu HTTP harus ada. Anda dapat menemukan instans ini di halaman Cycle Examples di Operation Center. Sebelum instans berhasil dipicu oleh API TriggerSchedulerTaskInstance, instans tersebut berada dalam status Waiting for Trigger. Node downstream-nya tetap diblokir hingga API TriggerSchedulerTaskInstance berhasil dipanggil untuk memicu node pemicu HTTP, di mana saat itu node downstream dijalankan secara berurutan.

  • Semua node upstream yang menjadi dependensi node Pemicu HTTP telah berhasil dijalankan, sehingga instansnya berstatus berhasil.

  • Waktu terjadwal untuk instans terjadwal node pemicu HTTP telah tiba.

  • Kelompok sumber daya penjadwalan yang digunakan oleh node pemicu HTTP memiliki sumber daya yang cukup pada saat pemicu diaktifkan.

  • Node pemicu HTTP tidak berada dalam frozen state.

  • Hanya instans node pemicu HTTP dalam status Waiting for Trigger yang dapat dipicu. Instans yang telah berhasil dipicu tidak dapat dipicu lagi.

Skenario umum

  • Penjadwalan berbasis file eksternal: Gunakan skrip eksternal (seperti Python) untuk membaca informasi tanggal atau kondisi dari file seperti Excel atau CSV. Ketika kondisi pemicu terpenuhi, panggil operasi DataWorks OpenAPI TriggerSchedulerTaskInstance untuk memicu node pemicu HTTP dan menerapkan penjadwalan otomatis berdasarkan data eksternal.

  • Dependensi tugas lintas tenant: Saat terdapat dependensi tugas antar instans DataWorks dari tenant berbeda, Anda dapat menggunakan node pemicu HTTP untuk memicu tugas lintas tenant. Untuk informasi lebih lanjut, lihat Gunakan node pemicu HTTP untuk memicu eksekusi node lintas tenant.

Jika Anda menggunakan DataWorks Edisi Profesional atau edisi yang lebih tinggi, Anda juga dapat menggunakan Check node untuk menerapkan pemeriksaan kondisi eksternal serupa.

Catatan

  • Node pemicu HTTP hanya memicu node downstream-nya setelah node upstream-nya berhasil dijalankan dan lingkungan eksternal mengirimkan perintah penjadwalan.

  • Jika lingkungan eksternal mengirimkan perintah penjadwalan sebelum node upstream selesai dijalankan, node pemicu HTTP tidak akan memicu node downstream. Sistem menyimpan perintah penjadwalan dari lingkungan eksternal dan memicu node downstream melalui node pemicu HTTP setelah node upstream selesai dijalankan.

    Catatan

    Perintah pemicu dari lingkungan eksternal hanya disimpan selama 24 jam. Jika node upstream tidak selesai dijalankan dalam waktu 24 jam, perintah pemicu akan hilang dan perintah penjadwalan yang dikirim oleh lingkungan eksternal menjadi tidak valid.

  • Setelah instans node pemicu HTTP saat ini berhasil dipicu, instans tersebut tidak dapat dipicu lagi.

Prasyarat

  • Pengguna RAM yang ingin Anda gunakan telah ditambahkan ke ruang kerja Anda.

    Jika Anda ingin menggunakan pengguna RAM untuk mengembangkan tugas, Anda harus menambahkan pengguna RAM tersebut ke ruang kerja Anda sebagai anggota dan memberikan peran Develop atau Workspace Administrator kepada pengguna RAM tersebut. Peran Workspace Administrator memiliki izin yang lebih luas daripada yang diperlukan. Berhati-hatilah saat memberikan peran Workspace Administrator. Untuk informasi lebih lanjut tentang cara menambahkan anggota dan memberikan peran, lihat Tambahkan anggota ke ruang kerja.

  • Kelompok sumber daya serverless telah dikaitkan dengan ruang kerja Anda. Untuk informasi lebih lanjut, lihat topik dalam direktori Gunakan kelompok sumber daya serverless.

  • Sebelum mengembangkan node pemicu HTTP, Anda harus membuat node pemicu HTTP yang sesuai terlebih dahulu. Untuk informasi lebih lanjut, lihat Buat node pemicu HTTP.

Batasan

  • Fitur node pemicu HTTP hanya tersedia di Dataworks Enterprise Edition dan edisi yang lebih tinggi. Untuk informasi lebih lanjut tentang edisi DataWorks, lihat Edisi DataWorks.

  • Node pemicu HTTP hanya digunakan untuk memicu tugas dan tidak dapat digunakan sebagai tugas komputasi. Anda harus mengatur node tugas yang ingin dijalankan sebagai node downstream dari node pemicu HTTP agar tugas tersebut dapat dipicu dan dieksekusi.

Buat node pemicu HTTP

Buat node pemicu HTTP

Untuk informasi tentang cara membuat node, lihat Buat node pemicu HTTP.

Konfigurasikan node pemicu HTTP

Setelah membuat node pemicu HTTP, konfigurasikan parameter berikut di Scheduling Settings di sisi kanan halaman pengeditan node. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Pengaturan penjadwalan.

Parameter

Deskripsi

Resource Group for Scheduling

Pilih kelompok sumber daya serverless yang telah Anda kaitkan.

Instance generation method

Anda dapat memilih T +1 generated next day atau Instant generation after publishing.

Catatan
  • Node pemicu HTTP adalah node beban nol. Anda tidak perlu menulis konten apa pun untuk node tersebut.

  • Jika node pemicu HTTP tidak memiliki node upstream, node root dari workflow digunakan sebagai node upstream default.

Terapkan node pemicu HTTP

  1. Setelah menyelesaikan pengaturan penjadwalan, kirim dan terapkan node pemicu HTTP ke lingkungan produksi. Untuk informasi lebih lanjut, lihat Terapkan node.

  2. Setelah tugas diterapkan, tugas tersebut dijalankan secara berkala berdasarkan pengaturan penjadwalan Anda. Anda dapat melihat tugas terjadwal yang telah diterapkan di Operation and Maintenance Center > Node O&M > Auto Triggered Task O&M > Auto Triggered Task dan melakukan operasi O&M pada tugas tersebut. Untuk informasi lebih lanjut, lihat Kelola tugas terjadwal.

Konfigurasi pemicu di lingkungan penjadwalan eksternal

Saat mengonfigurasi pengaturan pemicu di lingkungan penjadwalan eksternal, Anda harus mengonfigurasi parameter instans node pemicu HTTP yang diperoleh sebelumnya dengan salah satu metode berikut dan memanggil operasi TriggerSchedulerTaskInstance untuk memicu node pemicu HTTP.

Dapatkan parameter instans node pemicu HTTP

Berdasarkan metode pembuatan instans yang Anda pilih saat mengonfigurasi node pemicu HTTP, lihat dan catat parameter instans node pemicu HTTP di Operation Center.

Catatan
  • Pembuatan T+1 hari berikutnya: Anda harus membuka Operation Center pada hari berikutnya untuk melihat dan mencatat parameter instans HTTP.

  • Pembuatan instan setelah penerapan: Anda dapat langsung membuka Operation Center untuk melihat dan mencatat parameter instans HTTP.

  1. Masuk ke Konsol DataWorks. Di wilayah target, klik Data Development and O&M > Operation Center di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Operation Center.

  2. Di panel navigasi kiri, klik Auto Triggered Task O&M > Cycle Examples untuk membuka halaman Cycle Examples.

  3. Di daftar tersebut, temukan instans node pemicu HTTP yang telah Anda buat dan catat Task ID serta Scheduled Time dari instans tersebut.

    Catatan

    Arahkan kursor ke nama instans node pemicu HTTP untuk melihat Task ID instans tersebut.

Metode 1: Java

  1. Instal SDK Java. Untuk informasi lebih lanjut, lihat Instal SDK Java.

    Gunakan konfigurasi POM berikut untuk SDK DataWorks.

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>dataworks_public20240518</artifactId>
      <version>6.2.0</version>
    </dependency>
  2. Contoh kode

    Anda dapat membuka halaman debugging TriggerSchedulerTaskInstance dan melihat contoh lengkap Java di tab SDK Sample.

    package com.example.demo;
    import com.aliyun.dataworks_public20240518.Client;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceRequest;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceResponse;
    import com.aliyun.teaopenapi.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    public class CrossTenantTriggerSchedulerTaskTo {
        // Method to trigger a DataWorks node run
        public static TriggerSchedulerTaskInstanceResponse runTriggerScheduler(com.aliyun.dataworks_public20240518.Client client, Long nodeId, String EnvType, Long TriggerTime) throws Exception {
            TriggerSchedulerTaskInstanceRequest request = new TriggerSchedulerTaskInstanceRequest(); // Create API request object
            request.setTaskId(nodeId); // Set the node ID to trigger
            request.setEnvType(EnvType); // Set the project environment
            request.setTriggerTime(TriggerTime); // Set the scheduled trigger time (millisecond timestamp)
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options
            return client.triggerSchedulerTaskInstanceWithOptions(request, runtime); // Execute the API call and return the response
        }
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value)
            String nodeId = "xxx";
            // Initialize project environment (example value)
            String EnvTypeStr = "xxx";
            // Initialize scheduled time (example value)
            String cycTimeStr = "xxx";
            // Set the endpoint
            String endpoint = "xxx";
            // Convert string to Long type node ID
            Long nodeId1 = Long.parseLong(nodeId);
            // Print usage instructions
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId EnvTypeStr cycTimeParam");
            // Parse the scheduled time and convert to timestamp
            SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(sdft.parse(cycTimeStr)); // Parse the time string
            Long cycTime = calendar.getTimeInMillis(); // Get the millisecond timestamp
            // Print debug info (timestamp)
            System.out.println("Scheduled timestamp: " + cycTime);
            // Initialize OpenAPI config object
            Config config = new Config();
            config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")); // Get AccessKey ID from environment variable
            config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));// Get AccessKey Secret from environment variable
            config.setEndpoint(endpoint);
            // Create Alibaba Cloud client instance
            Client client = new Client(config);
            // Execute the trigger node operation
            TriggerSchedulerTaskInstanceResponse response = runTriggerScheduler(client, nodeId1,EnvTypeStr, cycTime);
            // Print the API response (JSON format)
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }

    Ganti parameter yang relevan dalam kode di atas dengan nilai aktual yang dibutuhkan oleh bisnis Anda berdasarkan deskripsi parameter berikut.

    Parameter

    Deskripsi

    nodeId

    Task ID dari node pemicu HTTP yang diperoleh pada langkah Dapatkan parameter instans node pemicu HTTP.

    EnvTypeStr

    Lingkungan proyek tempat node pemicu HTTP berada.

    Gunakan Prod untuk lingkungan produksi.

    Gunakan Dev untuk lingkungan pengembangan.

    cycTimeStr

    Scheduled Time dari tugas node pemicu HTTP yang diperoleh pada langkah Dapatkan parameter instans node pemicu HTTP. Format waktunya adalah yyyy-MM-dd HH:mm:ss.

    endpoint

    Titik akhir ruang kerja tempat node pemicu HTTP target berada. Untuk informasi lebih lanjut, lihat titik akhir Portal Pengembang OpenAPI Alibaba Cloud.

    ALIBABA_CLOUD_ACCESS_KEY_ID

    ID AccessKey dari Akun Alibaba Cloud tempat node pemicu HTTP target berada.

    1. Dapatkan Informasi AccessKey.

      Masuk ke Konsol DataWorks, arahkan kursor ke ikon profil di pojok kanan atas bilah navigasi atas, lalu klik untuk membuka halaman Accesskey Management guna memperoleh ID AccessKey dan AccessKey Secret.

    2. Konfigurasikan variabel lingkungan. Konfigurasikan ID AccessKey dan AccessKey Secret yang diperoleh sebagai variabel lingkungan untuk lingkungan saat ini. Anda dapat memperoleh informasi AccessKey secara dinamis dengan membaca variabel lingkungan dalam kode Anda guna menghindari risiko keamanan akibat penyimpanan teks biasa. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan.

    ALIBABA_CLOUD_ACCESS_KEY_SECRET

    AccessKey Secret dari Akun Alibaba Cloud tempat node pemicu HTTP target berada.

Metode 2: Python

  1. Instal SDK Python. Untuk informasi lebih lanjut, lihat Instal SDK Python.

    Instal SDK DataWorks dengan menjalankan perintah berikut.

    pip install alibabacloud_dataworks_public20240518==6.2.0
  2. Contoh kode.

    Anda dapat membuka halaman debugging TriggerSchedulerTaskInstance dan melihat contoh lengkap Python di tab SDK Sample.

    Di sisi kiri halaman debugging, konfigurasikan parameter permintaan TaskId (integer), EnvType (string), dan TriggerTime (integer). Di sisi kanan, pilih Python sebagai bahasa untuk melihat kode contoh SDK lengkap. Klik Run Sample untuk melakukan debugging online.

Metode 3: Tool debugging API

Anda dapat membuka halaman debugging TriggerSchedulerTaskInstance, konfigurasikan parameter berikut di bagian yang sesuai, lalu klik Submit untuk memulai pemanggilan.

Parameter

Deskripsi

TaskId

Task ID dari node pemicu HTTP yang diperoleh pada langkah Dapatkan parameter instans node pemicu HTTP.

EnvType

Lingkungan proyek tempat node pemicu HTTP berada.

Gunakan Prod untuk lingkungan produksi.

Gunakan Dev untuk lingkungan pengembangan.

TriggerTime

Scheduled Time dari tugas node pemicu HTTP yang diperoleh pada langkah Dapatkan parameter instans node pemicu HTTP. Waktu tersebut harus dikonversi ke timestamp dalam satuan milidetik.

Referensi

DataWorks menyediakan fitur node pemicu HTTP untuk memicu dan mengeksekusi tugas dalam skenario lintas tenant. Untuk informasi lebih lanjut, lihat Gunakan node pemicu HTTP untuk memicu eksekusi node lintas tenant.