All Products
Search
Document Center

CloudFlow:Ikhtisar

Last Updated:Jun 29, 2025

Serverless Workflow dapat diintegrasikan dengan berbagai layanan Alibaba Cloud. Setelah terintegrasi, layanan-layanan ini dieksekusi dalam langkah tugas di Serverless Workflow. Mode integrasi layanan didefinisikan menggunakan Flow Definition Language (FDL). Dalam langkah task, Anda dapat menggunakan resourceArn untuk menentukan layanan yang ingin diintegrasikan dan pattern untuk menentukan mode integrasi yang digunakan. Topik ini menjelaskan informasi terkait integrasi layanan, termasuk mode integrasi, objek konteks, dan layanan cloud terintegrasi.

Untuk informasi lebih lanjut tentang layanan cloud yang tersedia, lihat Layanan cloud terintegrasi.

Mode integrasi

Serverless Workflow mendukung tiga mode integrasi berikut:

  • Mode Permintaan-Respons: Dalam mode ini, ketika memanggil layanan pihak ketiga, Serverless Workflow melanjutkan ke langkah berikutnya segera setelah menerima respons HTTP. Ini adalah mode default.

    Dalam sebuah langkah dari alur kerja yang didefinisikan dalam FDL, parameter resourceArn mendefinisikan layanan, dan parameter pattern: requestResponse mendefinisikan mode integrasi layanan. Parameter pattern: requestResponse bersifat opsional. Jika tidak ditentukan, mode integrasi default akan digunakan. Dalam mode ini, Serverless Workflow melanjutkan ke langkah berikutnya segera setelah menerima respons pemanggilan. Contoh berikut menunjukkan alur kerja anak, di mana Serverless Workflow adalah layanan terintegrasi.

    version: v1
    type: flow
    steps:
      - type: task
        name: testSubflow
        resourceArn: acs:fnf:::flow/flowABC #Mendefinisikan alur kerja anak. 
        pattern: requestResponse #Menetapkan mode integrasi layanan ke mode permintaan-respons, yang merupakan mode default. 
      - type: pass
        name: dummy       

    Dalam contoh ini, ketika langkah testSubflow dijalankan, alur kerja anak flowABC dipicu. Setelah flowABC dipicu, alur kerja melanjutkan ke langkah dummy, sementara flowABC mungkin masih berjalan.

  • Mode Sinkron: Dalam mode ini, layanan umumnya menyediakan API untuk eksekusi asinkron. Setelah Serverless Workflow memanggil API tersebut, Serverless Workflow menunggu hingga tugas terkait selesai dan hasil eksekusi dikembalikan sebelum melanjutkan ke langkah berikutnya.

    Untuk layanan terintegrasi tertentu, Serverless Workflow menunggu hingga tugas terkait selesai sebelum melanjutkan ke langkah berikutnya. Jenis layanan ini menyediakan API asinkron untuk memulai tugas. Anda harus mengirimkan tugas dan menunggu hingga tugas selesai sebelum langkah berikutnya dimulai.

    Dalam langkah alur kerja yang didefinisikan dalam FDL, parameter resourceArn menentukan layanan, dan parameter pattern: sync menentukan mode integrasi layanan. Contoh berikut menunjukkan alur kerja anak, di mana Serverless Workflow adalah layanan terintegrasi.

    version: v1
    type: flow
    steps:
      - type: task
        name: testTask
        resourceArn: acs:fnf:::flow/flowABC #Mendefinisikan alur kerja anak. 
        pattern: sync #Menetapkan mode integrasi layanan ke mode sinkron. 
      - type: pass
        name: dummy          

    Dalam contoh ini, ketika langkah tugas dijalankan, alur kerja anak Serverless Workflow dipicu. Setelah alur kerja anak dipicu, alur kerja akan menunggu hasil eksekusinya sebelum melanjutkan ke langkah berikutnya. Ketika langkah testTask dijalankan, alur kerja anak flowABC dipicu. Setelah flowABC dipicu, alur kerja menunggu hasil eksekusinya. Setelah flowABC selesai, alur kerja melanjutkan ke langkah dummy. Pada titik ini, flowABC telah selesai.

  • Mode Tunggu-Callback: Dalam mode ini, ketika memanggil layanan pihak ketiga dan memasukkan token tugas, Serverless Workflow menunggu Anda menggunakan token untuk memberi tahu alur kerja tentang hasil eksekusi sebelum melanjutkan ke langkah berikutnya.

    Tugas callback menangguhkan alur kerja saat ini pada titik penjadwalan tugas sampai instruksi callback untuk token tugas yang sesuai diterima. Dalam langkah alur kerja yang didefinisikan dalam FDL, parameter resourceArn menentukan layanan, dan parameter pattern: waitForCallback menentukan mode integrasi layanan. Contoh berikut menunjukkan alur kerja anak, di mana Serverless Workflow adalah layanan terintegrasi.

    version: v1
    type: flow
    steps:
      - type: task
        name: testSubflow
        resourceArn: acs:fnf:::flow/flowABC # Mendefinisikan alur kerja anak. 
        pattern: waitForCallback #Menetapkan mode integrasi layanan ke mode tunggu-callback. 
      - type: pass
        name: dummy            

    Dalam contoh ini, ketika langkah testSubflow dijalankan, alur kerja anak flowABC akan dipicu. Setelah flowABC dipicu, alur kerja ditangguhkan untuk menunggu callback yang diimplementasikan melalui pemanggilan operasi API ReportTaskSucceed atau ReportTaskFailed. Setelah alur kerja menerima dan memproses permintaan callback, alur kerja dilanjutkan ke langkah dummy, terlepas dari status penyelesaian flowABC. Callback diinisiasi oleh Anda.

Objek konteks

Objek konteks adalah objek JSON internal dalam instance eksekusi alur kerja yang berisi informasi tentang eksekusi dan langkah-langkah. Objek ini memungkinkan akses dari layanan eksternal. Untuk mengimplementasikan akses, Anda dapat memetakan objek konteks ke variabel tertentu dalam inputMappings. Contoh berikut menunjukkan struktur objek konteks yang tersedia:

"context": {
    "flow": {
      // ID unik, nama, dan tipe string dari alur kerja. 
        "id": "val1",
        "name "val2",
    },
    "execution": {
      // Nama dari eksekusi. 
        "name": "val3"
    },
    "step": {
      // Nama dari langkah. 
        "name": "val4"
      // ID peristiwa dari langkah. 
        "eventId": "val5"
      // Indeks iterasi. Parameter ini valid dalam langkah foreach. 
        "IterationIndex": "val6",
    },
    "task": {
      // Pengenal dari langkah, yang merupakan string. Parameter ini valid dalam mode tunggu-callback. 
        "token": "val7",
    },
}       

Untuk mengintegrasikan layanan Serverless Workflow, Anda harus memperoleh dari alur kerja anak informasi tentang alur kerja induk yang memanggil alur kerja anak, serta taskToken dalam pemanggilan ini. taskToken akan digunakan dalam callback. Anda dapat memperoleh bidang target dan source dengan cara berikut:

    ...
        inputMappings:
      - target: current_flow_name 
        source: $context.flow.name 
      - target: current_execution_name 
        source: $context.execution.name 
      - target: current_step_task_token 
        source: $context.task.token            

Layanan cloud terintegrasi

Layanan

Mode permintaan-respons

Mode sinkron

Mode tunggu-callback

Function Compute

Didukung

Tidak didukung

Tidak didukung

Simple Message Queue (formerly MNS) antrian

Didukung

Tidak didukung

Didukung

Simple Message Queue (formerly MNS) topik

Didukung

Tidak didukung

Didukung

Serverless Workflow

Didukung

Didukung

Didukung