全部产品
Search
文档中心

DataWorks:Eksekusi tugas lintas penyewa menggunakan node pemicu HTTP

更新时间:Dec 19, 2025

DataWorks menyediakan node pemicu HTTP untuk membantu Anda memicu dan mengeksekusi tugas di berbagai penyewa. Topik ini memberikan panduan langkah demi langkah tentang cara menggunakan node pemicu HTTP di DataWorks guna mengimplementasikan pemicuan tugas lintas penyewa.

Latar Belakang

Di perusahaan modern, sering kali diperlukan pemrosesan data dan analitik lintas beberapa penyewa atau wilayah dalam penyewa yang sama. DataWorks menyediakan node pemicu HTTP untuk skenario berikut:

  • Skema yang memerlukan dependensi tugas dan kolaborasi lintas penyewa.

  • Skema dengan dependensi antara sistem penjadwalan berbeda dalam penyewa yang sama (misalnya, Sistem B bergantung pada node di Sistem A untuk menyelesaikan pemrosesan sebelum melanjutkan).

Diagram contoh untuk skenario lintas penyewa:

image

Penjelasan diagram: Alur kerja yang dikonfigurasi dengan node pemicu HTTP diterapkan ke Operation Center di Penyewa B. Saat alur kerja mencapai waktu eksekusi terjadwalnya, node hulu sebelum node pemicu HTTP dieksekusi secara berurutan sesuai jadwal yang dikonfigurasi. Setelah eksekusi mencapai node pemicu HTTP, node tersebut dan semua tugas hilirnya memasuki status menunggu. Ketika node pemicu HTTP menerima perintah pemicu dari Penyewa A, validasi dilakukan. Jika validasi berhasil, node pemicu HTTP dan tugas-tugas hilirnya akan melanjutkan eksekusi.

Prasyarat

  • Dua akun penyewa (yaitu, dua Akun Alibaba Cloud) tersedia.

  • Buat ruang kerja di kedua penyewa.

  • Kelompok sumber daya serverless telah dikaitkan dengan setiap ruang kerja di masing-masing penyewa.

  • Gateway NAT Internet dan EIP telah dikonfigurasi untuk VPC kelompok sumber daya serverless di ruang kerja yang mengirim pemicu.

    Penting

    Ketika node Shell memicu node pemicu HTTP, perintah pemicu harus dikirim melalui jaringan publik.

  • Sumber daya komputasi MaxCompute telah dikaitkan dengan ruang kerja tempat node Shell berada. Untuk detailnya, lihat Manajemen sumber daya komputasi.

    Catatan

    File JAR yang akan dieksekusi oleh node Shell pemicu harus diunggah ke MaxCompute.

Catatan

  • Node pemicu HTTP hanya digunakan untuk memicu dan tidak memerlukan logika pengembangan apa pun.

  • Lakukan operasi yang sesuai berdasarkan jenis ruang kerja Anda:

    • Untuk ruang kerja yang berpartisipasi dalam pratinjau publik Data Studio: lihat Contoh pemicu Data Studio (versi baru).

    • Untuk ruang kerja yang tidak berpartisipasi dalam pratinjau publik Data Studio: lihat Contoh pemicu DataStudio (versi lama).

      Catatan

      Untuk ruang kerja yang tidak berpartisipasi dalam pratinjau publik Data Studio, fitur node pemicu HTTP hanya didukung di DataWorks Edisi Perusahaan.

Contoh pemicu Data Studio (versi baru)

Jika Anda perlu memicu eksekusi node dari penyewa A ke penyewa B dalam skenario penjadwalan menggunakan Data Studio versi baru, ikuti petunjuk berikut.

Penyewa B: Buat alur kerja dengan node pemicu HTTP

Di ruang kerja penyewa B, buat alur kerja yang akan dipicu dari jarak jauh. Alur kerja ini harus mencakup node hulu pemicu HTTP yang menerima perintah pemicu dan node bisnis (dalam contoh ini berupa node Shell) untuk memverifikasi efek pemicuan lintas penyewa.

  1. Buka Data Studio.

    Buka halaman daftar ruang kerja DataWorks, alihkan ke wilayah target, lalu temukan ruang kerja target. Klik Shortcuts > Data Studio di kolom Actions.

  2. Buat alur kerja baru.

    1. Di panel navigasi kiri, klik ikon image.

    2. Klik ikon image untuk Create Workflow. Di kotak dialog, masukkan nama (misalnya, HTTP_Workflow) lalu klik OK.

  3. Buat node baru.

    1. Di halaman konfigurasi alur kerja, seret General > HTTP Trigger dan General > Shell ke kanvas.

    2. Hubungkan node Shell sebagai node hilir dari node pemicu HTTP.

      image

  4. Edit node Shell.

    1. Arahkan kursor ke node Shell lalu klik Open Node.

    2. Di editor, masukkan:

      echo "DataWorks";
    3. Klik Scheduling di sisi kanan, lalu atur Resource Group ke kelompok sumber daya serverless yang dikaitkan dengan ruang kerja Anda.

    4. Klik Save di bilah alat bagian atas.

  5. Terapkan alur kerja.

    1. Temukan alur kerja HTTP_Workflow di Direktori Ruang Kerja, lalu di bagian Scheduling di sisi kanan, atur Instance Generation Mode menjadi Immediately After Deployment.

    2. Klik Save di bilah alat bagian atas halaman pengeditan alur kerja.

    3. Di kotak dialog Change Review, klik Save.

    4. Klik ikon image di bilah alat, lalu klik Start Deployment to Production Environment. Untuk informasi selengkapnya, lihat Penerapan node dan alur kerja.

  6. Catat parameter instans HTTP.

    Karena node pemicu HTTP langsung menghasilkan instans auto-triggered, Anda dapat membuka Operation Center untuk melihat dan mencatat informasi parameter instans HTTP.

    1. Buka halaman Operation Center.

      Login ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih Data Development and O&M > Operation Center. Di halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down lalu klik Go to Operation Center.

    2. Di panel navigasi kiri, klik Auto Triggered Node O&M > Auto Triggered Instances.

    3. Temukan instans node pemicu HTTP lalu catat Task ID dan Scheduling Time-nya.

      Catatan

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

Lingkungan lokal: Siapkan kode contoh

  1. Tambahkan dependensi pom.

    Anda dapat membuka halaman debugging TriggerSchedulerTaskInstance dan lihat informasi lengkap SDK installation information di tab SDK Sample Code.

    <build>
           <plugins>
               <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-assembly-plugin</artifactId>
                   <version>3.3.0</version>
                   <configuration>
                       <archive>
                           <manifest>
                               <mainClass>com.example.demo.CrossTenantTriggerSchedulerTaskInstance</mainClass>  <!-- Replace with your main class -->
                           </manifest>
                       </archive>
                       <descriptorRefs>
                           <descriptorRef>jar-with-dependencies</descriptorRef>
                       </descriptorRefs>
                   </configuration>
                   <executions>
                       <execution>
                           <id>make-assembly</id>
                           <phase>package</phase> <!-- Execute during the packaging phase -->
                           <goals>
                               <goal>single</goal>
                           </goals>
                       </execution>
                   </executions>
               </plugin>
           </plugins>
       </build>
       <dependencies>
           <dependency>
               <groupId>com.aliyun</groupId>
               <artifactId>dataworks_public20240518</artifactId>
               <version>6.2.0</version>
           </dependency>
       </dependencies>
    Penting

    Setelah menyelesaikan pengembangan kode, ganti parameter mainClass dengan nama kelas utama Java yang Anda buat. Format nama kelas utama adalah nama paket lengkap ditambah nama kelas. Misalnya, com.example.demo.CrossTenantTriggerSchedulerTaskInstance.

  2. Pengembangan kode.

    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.teautil.models.RuntimeOptions;
    
       import java.text.SimpleDateFormat;
       import java.util.Calendar;
    
       public class CrossTenantTriggerSchedulerTaskInstance {
           // Create an Alibaba Cloud DataWorks client
           public static Client createClient20240518(String accessId, String accessKey, String endpoint) throws Exception {
               // Initialize OpenAPI configuration object
               com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
               config.setAccessKeyId(accessId); // Set AccessKey ID
               config.setAccessKeySecret(accessKey); // Set AccessKey Secret
               config.setEndpoint(endpoint); // Set endpoint
               return new Client(config); // Return initialized client instance
           }
           
           // Trigger DataWorks node execution
           public static TriggerSchedulerTaskInstanceResponse runTriggerScheduler(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
               request.setEnvType(EnvType); // Set the environment
               request.setTriggerTime(TriggerTime); // Set the scheduled trigger time (timestamp in milliseconds)
               RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime configuration
               return client.triggerSchedulerTaskInstanceWithOptions(request, runtime); // Execute the API operation and return the response
           }
           
           // Main method
           public static void main(String[] args) throws Exception {
               // Initialize the node ID (example value)
               String nodeId1 = "";
               // Initialize the environment (example value)
               String EnvTypeStr = "";
               // Initialize the scheduled time (example value)
               String cycTimeStr = "";
               
               // Parse CLI arguments: nodeId, environment type, and scheduled time
               int i;
               for(i = 0; i < args.length; ++i) {
                   if (i == 0) {
                       nodeId1 = args[i];
                   } else if (i == 1) {
                       EnvTypeStr = args[i];
                   } else if (i == 2) {
                       cycTimeStr = args[i];
                   }
               }
               
               // Convert string to a Long-type node ID
               Long nodeId = Long.parseLong(nodeId1);
               
               // Print usage instructions
               System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId EnvTypeStr cycTimeParam");
               
               // Parse the scheduled time and convert it to a timestamp
               SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
               Calendar calendar = Calendar.getInstance();
               calendar.setTime(sdft.parse(cycTimeStr)); // Parse time string
               Long cycTime = calendar.getTimeInMillis(); // Get millisecond timestamp
               
               // Output debug information (timestamp)
               System.out.println("Scheduled timestamp: " + cycTime);
               
               // Configure Alibaba Cloud service parameters
               String endpoint = "dataworks.cn-hangzhou.aliyuncs.com"; // Service endpoint
               String accessId = "xxx"; // Access key ID
               String accessKey = "xxx"; // Access key Secret
               
               // Create Alibaba Cloud client instance
               Client client = createClient20240518(accessId, accessKey, endpoint);
               
               // Execute trigger node operation
               TriggerSchedulerTaskInstanceResponse response = runTriggerScheduler(client, nodeId, EnvTypeStr, cycTime);
               
               // Output API response result (JSON format)
               System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
           }
       }

    Ganti parameter endpoint, accessId, dan accessKey dalam kode di atas dengan nilai aktual yang diperlukan untuk bisnis Anda sesuai deskripsi parameter berikut.

    Parameter

    Deskripsi

    endpoint

    Alamat layanan ruang kerja tempat node pemicu HTTP target berada. Untuk informasi selengkapnya, lihat Titik akhir API Alibaba Cloud.

    accessId

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

    Anda dapat login ke Konsol DataWorks, arahkan kursor ke foto profil di pojok kanan atas, buka AccessKey, lalu peroleh AccessKey ID dan AccessKey Secret Pengguna RAM tempat node pemicu HTTP target berada.

    Peringatan

    AccessKey Akun Alibaba Cloud memiliki izin penuh. Jika bocor, ini menimbulkan risiko keamanan serius. Kami menyarankan Anda menggunakan AccessKey Pengguna RAM yang hanya memiliki peran Workspace Administrator untuk ruang kerja target.

    accessKey

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

  3. Kemas kode di atas untuk menghasilkan paket JAR dengan akhiran jar-with-dependencies.jar.

Penyewa A: Konfigurasi node shell

Ikuti langkah-langkah berikut untuk mengonfigurasi node Shell di ruang kerja penyewa A guna memicu node pemicu HTTP di ruang kerja penyewa B.

  1. Buka Data Studio.

    Buka halaman daftar ruang kerja DataWorks, alihkan ke wilayah target, lalu temukan ruang kerja target. Klik Shortcuts > Data Studio di kolom Actions.

  2. Unggah file JAR.

    1. Di panel navigasi kiri, klik ikon image.

    2. Di halaman Resource Management, klik tombol Create atau ikon image, lalu pilih Create Resource > MaxCompute Jar.

    3. Di kotak dialog Create Resource or Function, masukkan nama resource http_node_work.jar, lalu klik OK.

    4. Di halaman detail unggah resource, klik Upload untuk mengunggah paket JAR yang Anda hasilkan pada langkah Lingkungan lokal: Siapkan kode contoh, lalu pilih sumber data MaxCompute yang telah Anda ikat untuk Data Source.

  3. Simpan dan publikasikan resource.

    Setelah resource JAR yang Anda siapkan diunggah, klik tombol image di bilah alat untuk membuka panel penerapan, klik Start Deployment to Production Environment, lalu selesaikan proses pemeriksaan penerapan secara berurutan. Untuk informasi selengkapnya, lihat Penerapan node dan alur kerja.

  4. Buat node Shell sisi pemicu.

    1. Di panel navigasi kiri, klik image, lalu klik ikon image di sebelah Workspace Directories.

    2. Pilih General > Shell, lalu kotak dialog Create Node akan muncul.

    3. Sesuaikan Name node, lalu klik OK untuk membuka halaman pengeditan node.

  5. Edit node Shell sisi pemicu.

    1. Klik ikon image di panel navigasi kiri halaman pengeditan node Shell untuk menemukan resource JAR yang Anda unggah (http_node_work.jar).

    2. Klik kanan resource JAR yang Anda unggah lalu pilih Reference Resources.

    3. Lengkapi informasi parameter eksekusi kode pemicu di node Shell.

    ##@resource_reference{"http_node_work.jar"}
     java -jar http_node_work.jar nodeId "EnvTypeStr" "cycTimeParam"

    Parameter

    Deskripsi

    java -jar

    Perintah eksekusi JAR.

    http_node_work.jar

    Nama resource yang Anda referensikan.

    nodeId

    Task ID node pemicu HTTP yang dicatat pada langkah Penyewa B: Buat alur kerja dengan node pemicu HTTP.

    EnvTypeStr

    Lingkungan proyek node pemicu HTTP target. Topik ini mengeksekusi node pemicu HTTP yang dipublikasikan ke lingkungan produksi, sehingga atur parameter menjadi Prod.

    Jika Anda perlu mengeksekusi node pemicu HTTP di lingkungan pengembangan, atur parameter menjadi Dev.

    cycTimeParam

    Scheduling Time tugas node pemicu HTTP yang dicatat pada langkah Penyewa B: Buat alur kerja dengan node pemicu HTTP. Format waktunya adalah yyyy-MM-dd HH:mm:ss.

  6. Konfigurasi node Shell sisi pemicu.

    Di bagian Scheduling di sisi kanan halaman pengeditan node Shell, temukan Scheduling Policies > Resource Group. Pilih kelompok sumber daya serverless yang dikaitkan dengan ruang kerja sebagai Resource Group.

Jalankan dan lihat hasil

Jalankan node Shell di bawah penyewa A untuk memicu eksekusi node pemicu HTTP dan tugas-tugas selanjutnya di penyewa B.

  1. Jalankan node Shell sisi pemicu.

    Klik Running Duration di bilah alat bagian atas node Shell yang Anda konfigurasi di langkah penyewa A: Konfigurasi node Shell.

  2. Lihat hasil eksekusi.

    Anda perlu membuka penyewa B dan mengikuti langkah-langkah berikut untuk melihat hasil eksekusi.

    1. Buka halaman Operation Center.

      Login ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih Data Development and O&M > Operation Center. Di halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down lalu klik Go to Operation Center.

    2. Di panel navigasi kiri, klik Auto Triggered Node O&M > Auto Triggered Instances.

    3. Temukan instans node pemicu HTTP yang ingin Anda picu lalu periksa hasil eksekusinya.

      image

Contoh pemicu DataStudio (versi lama)

Jika Anda perlu memicu eksekusi node di DataStudio versi lama dari penyewa A ke penyewa B dalam skenario penjadwalan, rujuk konten berikut.

Penyewa B: Buat alur kerja node pemicu HTTP

Buat alur kerja di ruang kerja penyewa B yang perlu dipicu dari jarak jauh. Alur kerja ini harus mencakup node bisnis yang menunggu untuk dipicu (topik ini menggunakan node Shell sebagai contoh) dan node hulu pemicu HTTP yang menerima perintah pemicu, untuk memverifikasi efek pemicuan lintas penyewa nanti.

image

  1. Buat node pemicu HTTP. Untuk informasi selengkapnya, lihat Buat node Pemicu HTTP.

  2. Buat node Shell. Untuk informasi selengkapnya, lihat Buat node Shell.

    Masukkan konten berikut di halaman pengeditan node, lalu konfigurasi Support for Rerun dan Resource Group di bagian Scheduling di sisi kanan halaman pengeditan node Shell. Save informasi konfigurasi node.

    echo "DataWorks";
  3. Terapkan node ke Operation Center.

  4. Temukan instans node pemicu HTTP lalu catat Task ID, Scheduling Time, dan Data Timestamp-nya.

    Karena node pemicu HTTP menghasilkan instans auto triggered satu hari setelah penerapan, Anda dapat mengklik ikon image di pojok kanan atas alur kerja pada hari berikutnya, lalu melihat informasi parameter instans HTTP di Auto Triggered Node O&M > Auto Triggered Instances di Operation Center.

    Catatan

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

Lingkungan lokal: Siapkan kode contoh

  1. Tambahkan dependensi pom.

    Anda dapat membuka halaman debugging TriggerSchedulerTaskInstance dan lihat informasi lengkap SDK installation information di tab SDK Sample Code.

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.3.0</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>com.example.demo.CrossTenantTriggerNode</mainClass>  <!-- Replace with your main class -->
                            </manifest>
                        </archive>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase> 
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    
        <dependencies>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>dataworks_public20200518</artifactId>
                <version>7.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>tea-openapi</artifactId>
                <version>0.3.8</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>tea-console</artifactId>
                <version>0.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>tea-util</artifactId>
                <version>0.2.23</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>credentials-java</artifactId>
                <version>1.0.1</version>
            </dependency>
        </dependencies>
    Penting

    Setelah menyelesaikan pengembangan kode, ganti parameter mainClass dengan nama kelas utama Java yang Anda buat. Format nama kelas utama adalah nama paket lengkap ditambah nama kelas. Misalnya, com.example.demo.CrossTenantTriggerSchedulerTaskInstance.

  2. Pengembangan kode.

    package com.example.demo;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import com.aliyun.dataworks_public20200518.Client;
    import com.aliyun.dataworks_public20200518.models.RunTriggerNodeRequest;
    import com.aliyun.dataworks_public20200518.models.RunTriggerNodeResponse;
    import com.aliyun.teautil.models.RuntimeOptions;
    
    public class CrossTenantTriggerNode {
        // Method to create Alibaba Cloud DataWorks client
        public static Client createClient20200518(String accessId, String accessKey, String endpoint) throws Exception {
            // Initialize OpenAPI configuration object
            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
            config.setAccessKeyId(accessId); // Set access key ID
            config.setAccessKeySecret(accessKey); // Set access key secret
            config.setEndpoint(endpoint); // Set service endpoint
            return new Client(config); // Return initialized client instance
        }
        // Method to trigger DataWorks node execution
        public static RunTriggerNodeResponse runTriggerNode(Client client, Long nodeId, Long cycleTime, Long bizDate, Long appId) throws Exception {
            RunTriggerNodeRequest request = new RunTriggerNodeRequest(); // Create API request object
            request.setNodeId(nodeId); // Set the node ID to trigger
            request.setCycleTime(cycleTime); // Set cycle time (millisecond timestamp)
            request.setBizDate(bizDate); // Set business date (millisecond timestamp)
            request.setAppId(appId); // Set application ID
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime configuration
            return client.runTriggerNodeWithOptions(request, runtime); // Execute API call and return response
        }
        // Program entry method
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value)
            String nodeId1 = "";
            // Initialize scheduled time and business date (example values)
            String cycTimeStr = "";
            String bizTimeParam = "";
            // Process command line parameters in a for loop, assigning values to nodeId1, cycTimeParam, bizTimeParam respectively
            int i;
            for(i = 0; i < args.length; ++i) {
                if (i == 0) {
                    nodeId1 = args[i];
                } else if (i == 1) {
                    cycTimeStr = args[i];
                }else if (i == 2) {
                    bizTimeParam = args[i];
                }
            }
            // Convert string to Long type node ID
            Long nodeId = Long.parseLong(nodeId1);
            // Output program usage instructions
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId cycTimeParam bizTimeParam");
            // Parse 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 time string
            Long cycTime = calendar.getTimeInMillis(); // Get millisecond timestamp
            // Parse business date and convert to timestamp
            SimpleDateFormat sdfti = new SimpleDateFormat("yyyy-MM-dd");
            Calendar calendari = Calendar.getInstance();
            calendari.setTime(sdfti.parse(bizTimeParam));
            Long bizTime = calendari.getTimeInMillis();
            // Output debug information (timestamps)
            System.out.println("Scheduled timestamp: " + cycTime);
            System.out.println("Business date timestamp: " + bizTime);
            // Configure Alibaba Cloud service parameters
            String endpoint = "dataworks.cn-hangzhou.aliyuncs.com"; // Service endpoint
            String accessId = "xxx"; // Access key ID
            String accessKey = "xxx"; // Access key secret
            Long appId = Long.valueOf(xxx); // Application ID (needs to be replaced with actual value)
            // Create Alibaba Cloud client instance
            Client client = createClient20200518(accessId, accessKey, endpoint);
            // Execute trigger node operation
            RunTriggerNodeResponse response = runTriggerNode(client, nodeId, cycTime, bizTime, appId);
            // Output API response result (JSON format)
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }

    Ganti parameter endpoint, accessId, dan accessKey dalam kode di atas dengan nilai aktual yang diperlukan untuk bisnis Anda sesuai deskripsi parameter berikut.

    Parameter

    Deskripsi

    endpoint

    Alamat layanan ruang kerja tempat node pemicu HTTP target berada. Untuk informasi selengkapnya, lihat Titik akhir API Alibaba Cloud.

    accessId

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

    Anda dapat login ke Konsol DataWorks, arahkan kursor ke foto profil di pojok kanan atas, buka AccessKey, lalu peroleh AccessKey ID dan AccessKey Secret Pengguna RAM tempat node pemicu HTTP target berada.

    Peringatan

    AccessKey Akun Alibaba Cloud memiliki izin penuh. Jika bocor, ini menimbulkan risiko keamanan serius. Kami menyarankan Anda menggunakan AccessKey Pengguna RAM yang hanya memiliki peran Workspace Administrator untuk ruang kerja target.

    accessKey

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

  3. Kemas kode di atas untuk menghasilkan paket JAR dengan akhiran jar-with-dependencies.jar.

Penyewa A: Konfigurasi node Shell

Ikuti langkah-langkah berikut untuk mengonfigurasi node Shell di ruang kerja penyewa A guna memicu node pemicu HTTP di ruang kerja penyewa B.

  1. Buat dan unggah resource Jar.

    Buat paket JAR yang Anda kemas pada langkah Lingkungan lokal: Siapkan kode contoh sebagai resource MaxCompute. Untuk informasi selengkapnya, lihat Buat dan gunakan resource MaxCompute.

  2. Kembangkan node Shell sisi pemicu.

    Buat node Shell umum dan referensikan resource MaxCompute di node Shell. Lengkapi informasi parameter eksekusi kode pemicu di node Shell. Kode contohnya sebagai berikut:

    ##@resource_reference{"http_node_work.jar"}
     java -jar http_node_work.jar nodeId "cycleTime" "bizDate"

    Parameter

    Deskripsi

    http_node_work.jar

    Nama resource yang Anda referensikan.

    nodeId

    Task ID node pemicu HTTP yang dicatat di penyewa B: Buat alur kerja node pemicu HTTP.

    cycleTime

    Scheduling Time tugas node pemicu yang dicatat di penyewa B: Buat alur kerja node pemicu HTTP. Format waktunya adalah yyyy-MM-dd HH:mm:ss.

    bizDate

    Data Timestamp tugas node pemicu yang dicatat di penyewa B: Buat alur kerja node pemicu HTTP. Format waktunya adalah yyyy-MM-dd HH:mm:ss.

  3. Konfigurasi node Shell sisi pemicu.

    Di bagian Properties di sisi kanan halaman pengeditan node Shell, temukan Resource Group, lalu atur ke kelompok sumber daya serverless yang dikaitkan dengan ruang kerja.

Jalankan dan lihat hasil

Jalankan node Shell di penyewa A untuk memicu node pemicu HTTP dan tugas-tugas selanjutnya di penyewa B.

  1. Jalankan node Shell sisi pemicu.

    Klik ikon image di bilah alat bagian atas node Shell yang Anda konfigurasi pada langkah Penyewa A: Konfigurasi node Shell untuk menjalankan tugas.

  2. Lihat hasil eksekusi.

    Anda perlu membuka penyewa B dan mengikuti langkah-langkah berikut untuk melihat hasil eksekusi.

    1. Buka halaman Operation Center.

      Login ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih Data Development and O&M > Operation Center. Di halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down lalu klik Go to Operation Center.

    2. Di panel navigasi kiri, klik Auto Triggered Node O&M > Auto Triggered Instances.

    3. Temukan instans node pemicu HTTP yang ingin Anda picu lalu periksa hasil eksekusinya.

      image