All Products
Search
Document Center

CloudFlow:Mode integrasi layanan

Last Updated:Jul 06, 2025

CloudFlow menggunakan status Tugas untuk memanggil berbagai layanan. Anda dapat mengontrol transisi status pemanggilan layanan berdasarkan mode integrasi layanan. Topik ini menjelaskan mode integrasi layanan umum: RequestComplete, WaitForSystemCallback, dan WaitForCustomCallback.

Perhatian

Anda dapat menggunakan mode integrasi layanan RequestComplete, WaitForSystemCallback, dan WaitForCustomCallback untuk mengintegrasikan layanan. Namun, tidak semua layanan mendukung mode integrasi ini. Untuk informasi lebih lanjut tentang mode integrasi yang didukung oleh setiap layanan, lihat Mode Integrasi.

RequestComplete

Jika Anda memanggil layanan dari status Tugas, mode integrasi RequestComplete digunakan secara default. Setelah permintaan dikirim ke layanan, sistem menunggu respons sebelum melanjutkan tugas berikutnya.

Contoh berikut menunjukkan cara menggunakan mode integrasi RequestComplete untuk memanggil fungsi dari Function Compute. Saat CloudFlow mengeksekusi alur kerja, CloudFlow memanggil fungsi yang ditentukan dan menunggu hasil pemrosesan fungsi tersebut. Karena pemanggilan bersifat sinkron, mesin status menerima hasil pemrosesan fungsi setelah pemanggilan selesai.

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: contoh pemanggilan fungsi.
    Action: FC:InvokeFunction
    TaskMode: RequestComplete
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Sync
      body: xxxx
    End: true

WaitForSystemCallback

Untuk layanan integrasi tipe-tugas tertentu dan pemanggilan asinkron dalam Function Compute, Anda dapat menggunakan mode integrasi WaitForSystemCallback. Dalam mode ini, alur kerja tidak dapat beralih ke status berikutnya hingga tugas selesai.

Contoh berikut menunjukkan cara menggunakan mode integrasi WaitForSystemCallback untuk memanggil fungsi dari Function Compute.

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: contoh pemanggilan fungsi.
    Action: FC:InvokeFunction
    TaskMode: WaitForSystemCallback
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Async
      body: xxxx
    End: true

Dalam mode integrasi WaitForSystemCallback, alur kerja tidak dapat beralih ke status berikutnya hingga tugas selesai.

Jika tugas yang menggunakan mode integrasi WaitForSystemCallback dihentikan, CloudFlow tidak dapat membatalkan tugas tersebut. Anda mungkin dikenakan biaya tak terduga untuk layanan integrasi. Untuk mencegah biaya tak terduga, Anda harus secara manual membatalkan tugas integrasi. CloudFlow dapat secara otomatis menghentikan tugas integrasi dalam kasus berikut:

  • Eksekusi alur kerja dihentikan.

  • Cabang lain dalam status Paralel gagal karena kesalahan yang tertangkap.

  • Iterasi status Peta gagal dan kesalahan yang sesuai tidak tertangkap.

Dalam hal ini, mesin alur kerja mencoba semaksimal mungkin untuk membatalkan tugas. Misalnya, jika mode integrasi WaitForSystemCallback digunakan dalam alur kerja dan CloudFlow memanggil tugas asinkron yang berisi sub-alur atau fungsi dari Function Compute, Anda dapat memanggil StopExecution Operasi API dari CloudFlow untuk menghentikan alur kerja. CloudFlow menghentikan sub-alur dan kemudian fungsi terkait tugas asinkron dalam alur kerja. Namun, mesin alur kerja mungkin tidak dapat membatalkan tugas karena alasan berikut:

  • Peran eksekusi Anda tidak memiliki izin untuk memanggil operasi API yang sesuai.

  • Layanan sementara terganggu.

Untuk informasi tentang layanan Alibaba Cloud yang mendukung mode integrasi WaitForSystemCallback, lihat Layanan Alibaba Cloud yang Mendukung Integrasi Normal.

WaitForCustomCallback

Mode integrasi WaitForCustomCallback adalah mode panggilan balik yang berisi token tugas. Dalam mode ini, Anda dapat menangguhkan alur kerja dan mengontrol eksekusi alur kerja berdasarkan logika yang Anda definisikan dalam layanan integrasi. Misalnya, jika persetujuan pengguna diperlukan selama eksekusi alur, pemanggilan integrasi memulai alur persetujuan sistem eksternal. Setelah alur persetujuan selesai, sistem memanggil balik alur kerja dan mengembalikan hasil persetujuan. Kemudian, alur kerja melanjutkan eksekusi langkah-langkah berikutnya. Setelah pemanggilan integrasi yang menggunakan mode integrasi WaitForCustomCallback dimulai, tugas saat ini secara otomatis ditangguhkan. Alur kerja tidak maju hingga layanan terintegrasi memanggil ReportTaskSucceeded atau ReportTaskFailed Operasi API untuk melaporkan hasil eksekusi tugas.

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: contoh pemanggilan fungsi.
    Action: FC:InvokeFunction
    TaskMode: WaitForCustomCallback
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Sync
      body: xxxx
    End: true

Gambar berikut menunjukkan cara kerja mode integrasi WaitForCustomCallback. Dibandingkan dengan polling, panggilan balik secara efektif mengurangi latensi dan tekanan tidak perlu pada server. Selain itu, kombinasi panggilan balik dan antrian dapat mengatur tugas dalam layanan lain selain Function Compute dan memperluas ruang lingkup orkestrasi CloudFlow ke semua jenis sumber daya komputasi.

Contoh: alur kerja integrasi layanan yang menggunakan mode integrasi WaitForCustomCallback

CloudFlow terintegrasi dengan mikro-layanan eksternal

Bagian ini menjelaskan bagaimana CloudFlow terintegrasi dengan mikro-layanan eksternal untuk melakukan pemeriksaan kredit. CloudFlow mengirim pesan yang berisi token tugas ke Simple Message Queue (formerly MNS). Mikro-layanan eksternal terintegrasi dengan Simple Message Queue (formerly MNS), memperoleh pesan dari antrian pesan Simple Message Queue, dan kemudian mengembalikan hasil dan token tugas asli. Lalu, CloudFlow melanjutkan eksekusi alur berikutnya. Gambar berikut menunjukkan alur kerja lengkap.

Contoh:

Type: StateMachine
Name: myWorkFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
  - Type: Task
    Name: contoh pemanggilan fungsi.
    Action: FC:InvokeFunction
    TaskMode: WaitForCustomCallback
    Parameters:
      resourceArn: acs:fc:{regionId}:{accountId}:functions/dataji/LATEST
      invocationType: Async
      body:
         payload.$: $Input
         taskToken.$: $Context.Current.TaskToken
    End: true

Saat menggunakan mode integrasi WaitForCustomCallback, Anda dapat menggunakan ekspresi $Context.Current.TaskToken untuk mengakses token tugas di bidang Parameters bagian States. Awalan $Context menentukan jalur ke objek konteks dan memperoleh token tugas dari tugas saat ini.

Kemudian, mikro-layanan eksternal memanggil ReportTaskSucceeded atau ReportTaskFailed Operasi API untuk mengirim token dan status eksekusi tugas. Alur kerja beralih ke status berikutnya.

CloudFlow terintegrasi dengan layanan yang dikelola sendiri

Gambar berikut menunjukkan cara menggunakan layanan Simple Message Queue (formerly MNS) dan panggilan balik API untuk mengintegrasikan CloudFlow dengan layanan yang dikelola sendiri. Ini memperluas penggunaan CloudFlow. Simple Message Queue (formerly MNS) dapat berupa layanan penyimpanan perantara apa pun.