All Products
Search
Document Center

DataWorks:Gunakan node pemicu HTTP untuk menjalankan node lintas penyewa

Last Updated:Jun 11, 2026

DataWorks menyediakan node HTTP trigger untuk memicu dan menjalankan task di berbagai penyewa. Topik ini menjelaskan cara menyiapkan node HTTP trigger di DataWorks guna mengoordinasikan alur kerja lintas penyewa.

Informasi latar belakang

Di banyak organisasi, alur kerja pemrosesan dan analisis data beroperasi di beberapa penyewa atau di wilayah berbeda dalam penyewa yang sama. DataWorks menyediakan node HTTP trigger untuk mendukung skenario berikut:

  • Mengoordinasikan task dependen di lingkungan penyewa berbeda.

  • Mengoordinasikan alur kerja antar sistem penjadwalan berbeda di beberapa wilayah dalam satu penyewa. Misalnya, alur kerja di Sistem B hanya dapat dimulai setelah node di Sistem A menyelesaikan task-nya.

Diagram berikut menunjukkan cara mekanisme pemicu bekerja dalam skenario lintas penyewa.

Deskripsi diagram: Alur kerja di lingkungan Tenant B berisi node HTTP trigger dan diterapkan ke Operation Center. Saat alur kerja dijalankan, node hulu dieksekusi secara berurutan sesuai jadwalnya. Ketika eksekusi mencapai node HTTP trigger, node tersebut beserta task downstream-nya masuk ke status menunggu. Setelah node HTTP trigger menerima dan memvalidasi perintah pemicu dari Tenant A, node HTTP trigger dan task downstream-nya mulai berjalan secara berurutan.

Prasyarat

  • Anda memiliki dua lingkungan penyewa, masing-masing dengan akun root terpisah.

  • Anda telah membuat ruang kerja di masing-masing lingkungan tersebut.

  • Anda telah mengaitkan serverless resource group dengan ruang kerja di masing-masing lingkungan.

  • Anda telah mengonfigurasi Internet NAT Gateway dan EIP untuk VPC dari serverless resource group yang dikaitkan dengan ruang kerja pemicu.

    Penting

    Ketika node shell memicu node HTTP trigger, perintah pemicu harus dikirim melalui Internet publik.

  • Anda telah mengaitkan sumber daya komputasi MaxCompute dengan ruang kerja yang berisi node shell pengirim perintah pemicu. Untuk informasi selengkapnya, lihat Mengelola sumber daya komputasi.

Catatan

  • Node HTTP trigger hanya berfungsi sebagai pemicu. Anda tidak perlu mengonfigurasi kode apa pun untuk node ini.

  • Ikuti contoh yang sesuai dengan tipe ruang kerja Anda:

Contoh Data Studio (versi baru)

Jika Anda perlu memicu node di ruang kerja Data Studio versi baru di Tenant B dari Tenant A, ikuti langkah-langkah berikut.

Di Tenant B: Buat alur kerja HTTP trigger

Di ruang kerja Tenant B, buat alur kerja yang dapat dipicu dari jarak jauh. Alur kerja ini harus berisi node HTTP trigger untuk menerima perintah pemicu dan node bisnis downstream yang akan dijalankan. Topik ini menggunakan node shell sebagai contoh untuk memverifikasi bahwa pemicu lintas penyewa berfungsi.

  1. Buka Data Studio.

    Buka daftar ruang kerja DataWorks. Di bilah navigasi atas, beralihlah ke wilayah target. Temukan ruang kerja target dan, di kolom Operation, klik Shortcuts > Data Studio untuk membuka Data Studio.

  2. Buat alur kerja.

    1. Di panel navigasi kiri, klik ikon image. Di sebelah kanan Project Directory, klik ikon image dan pilih Create Workflow. Kotak dialog Create Workflow muncul.

    2. Di kotak dialog Create Workflow, masukkan Name untuk alur kerja tersebut. Contoh ini menggunakan HTTP_Workflow. Klik Confirm untuk membuka editor alur kerja.

  3. Buat node.

    1. Di kanvas editor alur kerja, dari panel Create Node, seret node General > HTTP Trigger dan node General > Shell ke kanvas.

    2. Sambungkan node shell sebagai node downstream dari node HTTP trigger.

  4. Edit node shell.

    Penting

    Node HTTP trigger hanya berfungsi sebagai pemicu; tidak diperlukan konfigurasi kode.

    1. Arahkan kursor ke node shell dan klik Open Node. Di tab editor node, masukkan kode berikut:

      echo "DataWorks";
    2. Di panel Scheduling Settings di sebelah kanan, atur Resource Group ke serverless resource group yang dikaitkan dengan ruang kerja Anda.

    3. Di bilah alat di bagian atas tab, klik Save.

  5. Terapkan alur kerja.

    1. Di direktori proyek, temukan alur kerja HTTP_Workflow yang telah Anda buat. Di panel Scheduling Settings di sebelah kanan, atur Instance generation method menjadi Instant generation after publishing.

    2. Di bilah alat, klik ikon image untuk membuka panel deployment. Klik Start Release Production. Task diterapkan sesuai alur deployment. Untuk informasi selengkapnya, lihat Deploy nodes and workflows.

  6. Catat parameter instans HTTP.

    Karena node HTTP trigger langsung menghasilkan scheduled instance, Anda dapat membuka Operation Center untuk melihat dan mencatat parameternya.

    1. Login 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 HTTP trigger yang telah Anda buat. Catat task ID dan scheduled time-nya.

      Catatan

      Arahkan kursor ke nama instans node HTTP trigger untuk melihat task ID-nya.

Lingkungan lokal: Siapkan kode contoh

  1. Tambahkan dependensi pom.

    Buka halaman debugging TriggerSchedulerTaskInstance. Di tab SDK Example, lihat informasi instalasi SDK lengkap.

        <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 this with your main class -->
                            </manifest>
                        </archive>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase> <!-- Executed during the package 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 selesai mengembangkan kode, Anda harus mengganti parameter mainClass dengan nama kelas Java utama Anda. Nama tersebut harus berupa fully qualified class name, termasuk nama paketnya. Contoh: com.example.demo.CrossTenantTriggerSchedulerTaskInstance.

  2. Kembangkan 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 {
        // Method to create an Alibaba Cloud DataWorks client.
        public static Client createClient20240518(String accessId, String accessKey, String endpoint) throws Exception {
            // Initialize the OpenAPI configuration object.
            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
            config.setAccessKeyId(accessId); // Set the AccessKey ID.
            config.setAccessKeySecret(accessKey); // Set the AccessKey Secret.
            config.setEndpoint(endpoint); // Set the service endpoint.
            return new Client(config); // Return the initialized client instance.
        }
        // Method to trigger a DataWorks node run.
        public static TriggerSchedulerTaskInstanceResponse runTriggerScheduler(Client client, Long nodeId, String EnvType,Long TriggerTime) throws Exception {
            TriggerSchedulerTaskInstanceRequest request = new TriggerSchedulerTaskInstanceRequest(); // Create an API request object.
            request.setTaskId(nodeId); // Set the ID of the node to trigger.
            request.setEnvType(EnvType); // Set the project environment.
            request.setTriggerTime(TriggerTime); // Set the scheduled trigger time (as a millisecond timestamp).
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options.
            return client.triggerSchedulerTaskInstanceWithOptions(request, runtime); // Execute the API call and return the response.
        }
        // Program entry point.
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value).
            String nodeId1 = "";
            // Initialize project environment (example value).
            String EnvTypeStr = "";
            // Initialize scheduled time (example value).
            String cycTimeStr = "";
            // Loop to process command-line arguments and assign them to nodeId1, EnvTypeStr, and cycTimeStr.
            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 the string to a Long type for the 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 the time string.
            Long cycTime = calendar.getTimeInMillis(); // Get the time in milliseconds.
            // Print 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"; // AccessKey ID.
            String accessKey = "xxx"; // AccessKey Secret.
            // Create an Alibaba Cloud client instance.
            Client client = createClient20240518(accessId, accessKey, endpoint);
            // Execute the trigger node operation.
            TriggerSchedulerTaskInstanceResponse response = runTriggerScheduler(client, nodeId,EnvTypeStr, cycTime);
            // Print the API response in JSON format.
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }

    Ganti parameter endpoint, accessId, dan accessKey pada kode di atas dengan nilai aktual Anda, seperti yang dijelaskan dalam tabel berikut.

    Parameter

    Deskripsi

    endpoint

    Titik akhir layanan untuk wilayah tempat ruang kerja node http trigger target berada. Untuk daftar titik akhir, lihat Alibaba Cloud OpenAPI Developer Portal.

    accessId

    AccessKey ID dari Akun Alibaba Cloud yang memiliki node http trigger target.

    Anda dapat login ke Konsol DataWorks. Arahkan kursor ke gambar profil Anda di pojok kanan atas dan buka AccessKey untuk mendapatkan AccessKey ID dan AccessKey Secret dari RAM user yang dikaitkan dengan node http trigger target.

    Peringatan

    Pasangan AccessKey dari root account memberikan izin penuh. Kebocoran pasangan AccessKey menimbulkan risiko keamanan tinggi. Kami menyarankan Anda menggunakan pasangan AccessKey dari RAM user yang hanya memiliki izin administrator ruang kerja untuk ruang kerja target.

    accessKey

    AccessKey Secret dari Akun Alibaba Cloud yang memiliki node http trigger target.

  3. Kemas kode di atas ke dalam file JAR yang berakhiran jar-with-dependencies.jar.

Di Tenant A: Konfigurasi node shell

Di ruang kerja Tenant A, buat dan konfigurasikan node shell untuk mengirim perintah pemicu.

  1. Buka Data Studio.

    Buka daftar ruang kerja DataWorks. Di bilah navigasi atas, beralihlah ke wilayah target. Temukan ruang kerja target dan, di kolom Operation, klik Shortcuts > Data Studio untuk membuka Data Studio.

  2. Unggah resource JAR.

    1. Di panel navigasi kiri, klik ikon image untuk membuka Resource Management.

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

    3. Di kotak dialog New Resource and Function, atur nama resource menjadi http_node_work.jar dan klik Confirm.

    4. Di halaman detail resource, klik Click Upload untuk mengunggah file JAR yang telah Anda hasilkan pada langkah Lingkungan lokal: Siapkan kode contoh. Untuk Data Sources, pilih sumber data MaxCompute yang dikaitkan dengan ruang kerja Anda.

  3. Simpan dan terapkan resource.

    Setelah resource JAR diunggah, klik ikon image di bilah alat untuk membuka panel deployment. Klik Start Release Production dan selesaikan langkah-langkah dalam alur deployment. Untuk informasi selengkapnya, lihat Deploy nodes and workflows.

  4. Buat node shell pemicu.

    1. Di panel navigasi kiri, klik ikon image. Di sebelah kanan Project Directory, klik ikon image.

    2. Pilih General > Shell. Kotak dialog New Node muncul.

    3. Masukkan Name kustom untuk node tersebut dan klik Confirm untuk membuka editor node.

  5. Ubah node shell pemicu.

    1. Di panel navigasi kiri editor node shell, klik ikon image dan temukan resource JAR yang telah Anda unggah (http_node_work.jar).

    2. Klik kanan resource JAR tersebut dan pilih Insert Resource Path.

    3. Di node shell, berikan parameter untuk eksekusi kode pemicu.

    ##@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 dari node http trigger yang telah Anda catat pada langkah Di Tenant B: Buat alur kerja HTTP trigger.

    EnvTypeStr

    Lingkungan proyek dari node http trigger target. Karena node pada contoh ini diterapkan ke lingkungan produksi, atur parameter ini menjadi Prod.

    Untuk menjalankan node http trigger di lingkungan pengembangan, atur parameter ini menjadi Dev.

    cycTimeParam

    scheduled time dari task node http trigger yang telah Anda catat pada langkah Di Tenant B: Buat alur kerja HTTP trigger. Waktu harus dalam format yyyy-MM-dd HH:mm:ss.

  6. Konfigurasi node shell pemicu.

    Di panel Scheduling Settings di sisi kanan editor node shell, temukan Scheduling Policy > Resource Group. Pilih serverless resource group yang dikaitkan dengan ruang kerja Anda sebagai Resource Group.

Jalankan alur kerja dan periksa hasilnya

Jalankan node shell di Tenant A untuk memicu node HTTP trigger dan task downstream-nya di Tenant B.

  1. Jalankan node shell pemicu.

    Di bilah alat node shell yang telah Anda konfigurasi pada langkah Di Tenant A: Konfigurasi node shell, klik Run.

  2. Periksa hasil eksekusi.

    Buka lingkungan Tenant B dan ikuti langkah-langkah berikut untuk memeriksa hasilnya:

    1. Login 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 Scheduled Instances.

    3. Temukan instans node HTTP trigger yang telah dipicu dan periksa statusnya.

Contoh Data Studio versi lama

Jika Anda perlu memicu node di ruang kerja Data Studio versi lama di Tenant B dari Tenant A, ikuti langkah-langkah berikut.

Di Tenant B: Buat alur kerja HTTP trigger

Di ruang kerja Tenant B, buat alur kerja yang dapat dipicu dari jarak jauh. Alur kerja ini harus berisi node HTTP trigger untuk menerima perintah pemicu dan node bisnis downstream yang akan dijalankan. Topik ini menggunakan node shell sebagai contoh untuk memverifikasi bahwa pemicu lintas penyewa berfungsi.

  1. Buat node HTTP trigger.

  2. Buat node shell.

    Di tab editor node, masukkan kode berikut. Di pengaturan penjadwalan di sebelah kanan, konfigurasikan RUN Attribute dan Resource Group for Scheduling. Lalu, Save konfigurasi node.

    echo "DataWorks";
  3. Terapkan alur kerja ke Operation Center.

  4. Catat parameter instans HTTP.

    Karena node HTTP trigger menghasilkan scheduled instances berdasarkan basis T+1, Anda dapat melihat informasi instans pada hari berikutnya. Klik ikon image di pojok kanan atas alur kerja. Di Operation and Maintenance Center, buka Auto Triggered Task O&M > Cycle Examples untuk melihat parameter instans HTTP.

    Temukan instans node HTTP trigger yang telah Anda buat dan catat task ID, scheduled time, dan business date-nya.

    Catatan

    Arahkan kursor ke nama instans node HTTP trigger untuk melihat task ID-nya.

Lingkungan lokal: Siapkan kode

  1. Tambahkan dependensi pom.

    Buka halaman debugging RunTriggerNode. Di tab SDK Example, lihat informasi instalasi SDK lengkap.

        <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 this 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 selesai mengembangkan kode, Anda harus mengganti parameter mainClass dengan nama kelas Java utama Anda. Nama tersebut harus berupa fully qualified class name, termasuk nama paketnya. Contoh: com.example.demo.CrossTenantTriggerNode.

  2. Kembangkan 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 an Alibaba Cloud DataWorks client.
        public static Client createClient20200518(String accessId, String accessKey, String endpoint) throws Exception {
            // Initialize the OpenAPI configuration object.
            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
            config.setAccessKeyId(accessId); // Set the AccessKey ID.
            config.setAccessKeySecret(accessKey); // Set the AccessKey Secret.
            config.setEndpoint(endpoint); // Set the service endpoint.
            return new Client(config); // Return the initialized client instance.
        }
        // Method to trigger a DataWorks node run.
        public static RunTriggerNodeResponse runTriggerNode(Client client, Long nodeId, Long cycleTime, Long bizDate, Long appId) throws Exception {
            RunTriggerNodeRequest request = new RunTriggerNodeRequest(); // Create an API request object.
            request.setNodeId(nodeId); // Set the ID of the node to trigger.
            request.setCycleTime(cycleTime); // Set the cycle time (as a millisecond timestamp).
            request.setBizDate(bizDate); // Set the business date (as a millisecond timestamp).
            request.setAppId(appId); // Set the application ID.
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options.
            return client.runTriggerNodeWithOptions(request, runtime); // Execute the API call and return the response.
        }
        // Program entry point.
        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 = "";
            // Loop to process command-line arguments and assign them to nodeId1, cycTimeParam, and bizTimeParam.
            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 the string to a Long type for the node ID.
            Long nodeId = Long.parseLong(nodeId1);
            // Print usage instructions.
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId cycTimeParam bizTimeParam");
            // 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 the time string.
            Long cycTime = calendar.getTimeInMillis(); // Get the time in milliseconds.
            // Parse the business date and convert it to a timestamp.
            SimpleDateFormat sdfti = new SimpleDateFormat("yyyy-MM-dd");
            Calendar calendari = Calendar.getInstance();
            calendari.setTime(sdfti.parse(bizTimeParam));
            Long bizTime = calendari.getTimeInMillis();
            // Print 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"; // AccessKey ID.
            String accessKey = "xxx"; // AccessKey Secret.
            Long appId = Long.valueOf(xxx); // Application ID (replace with actual value).
            // Create an Alibaba Cloud client instance.
            Client client = createClient20200518(accessId, accessKey, endpoint);
            // Execute the trigger node operation.
            RunTriggerNodeResponse response = runTriggerNode(client, nodeId, cycTime, bizTime, appId);
            // Print the API response in JSON format.
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }
    

    Ganti parameter endpoint, accessId, accessKey, dan appId pada kode di atas dengan nilai aktual Anda.

    Parameter

    Deskripsi

    endpoint

    Titik akhir layanan untuk wilayah tempat ruang kerja node http trigger target berada. Untuk daftar titik akhir, lihat Alibaba Cloud OpenAPI Developer Portal.

    accessId

    AccessKey ID dari Akun Alibaba Cloud yang memiliki node http trigger target.

    Anda dapat login ke Konsol DataWorks. Arahkan kursor ke gambar profil Anda di pojok kanan atas dan buka AccessKey untuk mendapatkan AccessKey ID dan AccessKey Secret.

    Peringatan

    Pasangan AccessKey dari root account memberikan izin penuh. Kebocoran pasangan AccessKey menimbulkan risiko keamanan tinggi. Kami menyarankan Anda menggunakan pasangan AccessKey dari RAM user yang hanya memiliki izin administrator ruang kerja untuk ruang kerja target.

    accessKey

    AccessKey Secret dari Akun Alibaba Cloud yang memiliki node http trigger target.

    appId

    ID ruang kerja tempat node http trigger target berada. Anda dapat melihat ID ruang kerja di Administration.

  3. Kemas kode di atas ke dalam file JAR yang berakhiran jar-with-dependencies.jar.

Di Tenant A: Konfigurasi node shell

Ikuti langkah-langkah berikut untuk mengonfigurasi node shell di ruang kerja Tenant A guna memicu node HTTP trigger di ruang kerja Tenant B.

  1. Buat dan unggah resource JAR.

    Buat resource MaxCompute dari file JAR yang telah Anda kemas pada langkah Lingkungan lokal: Siapkan kode. Untuk informasi selengkapnya, lihat Create and use MaxCompute resources.

  2. Kembangkan node shell pemicu.

    Buat node shell dan referensikan resource MaxCompute dari node tersebut. Di node shell, berikan parameter untuk eksekusi kode pemicu, seperti pada contoh 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 dari node http trigger yang telah Anda catat pada langkah Di Tenant B: Buat alur kerja HTTP trigger.

    cycleTime

    scheduled time dari task node pemicu yang telah Anda catat pada langkah Di Tenant B: Buat alur kerja HTTP trigger. Waktu harus dalam format yyyy-MM-dd HH:mm:ss.

    bizDate

    business date dari task node pemicu yang telah Anda catat pada langkah Di Tenant B: Buat alur kerja HTTP trigger. Waktu harus dalam format yyyy-MM-dd HH:mm:ss.

  3. Konfigurasi node shell pemicu.

    Di panel Scheduling Settings di sisi kanan editor node shell, temukan Resource Group > Resource Group for Scheduling, lalu atur Resource Group Penjadwalan ke serverless resource group yang dikaitkan dengan ruang kerja Anda.

Jalankan alur kerja dan periksa hasilnya

Jalankan node shell di Tenant A untuk memicu node HTTP trigger dan task downstream-nya di Tenant B.

  1. Jalankan node shell pemicu.

    Di bilah alat node shell yang telah Anda konfigurasi pada langkah Di Tenant A: Konfigurasi node shell, klik ikon Run (image) untuk menjalankan node.

  2. Periksa hasil eksekusi.

    Buka lingkungan Tenant B dan ikuti langkah-langkah berikut untuk memeriksa hasilnya:

    1. Login 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 Scheduled Instances.

    3. Temukan instans node HTTP trigger yang telah dipicu dan periksa statusnya.