全部产品
Search
文档中心

CloudFlow:Ikhtisar

更新时间:Jul 02, 2025

Topik ini menjelaskan dasar-dasar Flow Definition Language (FDL) dan contoh terkait.

Dasar-dasar

FDL digunakan untuk mendefinisikan logika bisnis. Saat alur dijalankan, layanan Serverless workflow mengeksekusi langkah-langkah secara berurutan sesuai dengan definisi alur. Dalam FDL, alur biasanya mencakup beberapa langkah. Langkah-langkah tersebut dapat berupa langkah atom sederhana seperti task, succeed, fail, wait, dan pass, atau langkah kontrol kompleks seperti choice, parallel, dan foreach. Langkah-langkah ini dapat dikombinasikan untuk membangun logika bisnis yang kompleks. Sebagai contoh, cabang dari langkah paralel mungkin merupakan serangkaian langkah serial. Jika terjadi kesalahan selama eksekusi langkah, FDL menyediakan kemampuan retry dan catch.

Langkah-langkah dalam FDL mirip dengan fungsi dalam bahasa pemrograman, dan kombinasi langkah-langkahnya mirip dengan pemanggilan fungsi. Data dilewatkan antar langkah melalui input dan output. Variabel lokal digunakan untuk menyimpan data langkah-langkah. Jika sebuah langkah berisi langkah lain, langkah luar disebut langkah induk, sedangkan langkah yang termasuk disebut langkah anak.

Saat mendefinisikan alur, Anda dapat melakukan operasi berikut:
  • Membangun struktur dasar alur perencanaan placeholder menggunakan langkah pass.
  • Memanggil fungsi layanan Function Compute menggunakan langkah task.
  • Menghentikan sementara alur selama periode waktu tertentu menggunakan langkah wait.
  • Mendefinisikan jalur eksekusi berbeda menggunakan langkah choice.
  • Mengakhiri alur lebih awal menggunakan langkah succeed atau fail.
  • Menjalankan beberapa cabang secara paralel menggunakan langkah parallel.
  • Memproses data array secara paralel menggunakan langkah foreach.

Alur mencakup atribut berikut:

  • version: Wajib. Versi alur. Hanya v1 yang didukung.
  • type: Wajib. Jenis alur.
  • Langkah: Diperlukan. Beberapa langkah seri dalam sebuah alur. Saat satu langkah dijalankan dengan sukses, langkah berikutnya akan dimulai. Untuk menghentikan alur sebelum waktunya, Anda dapat menggunakan atribut end atau menjalankan langkah berhasil atau gagal.
  • inputMappings: Opsional. Pemetaan input. $input yang direferensikan dalam pemetaan input adalah parameter Input dalam permintaan API StartExecution.
  • outputMappings: Opsional. Pemetaan output. $local yang direferensikan dalam pemetaan output adalah objek JSON yang mencatat hasil eksekusi setiap langkah serial.
    Catatan Jika tidak ada pemetaan output yang ditentukan, $local digunakan sebagai output akhir alur.
  • timeoutSeconds: Opsional. Periode timeout alur. Jika durasi eksekusi alur melebihi periode timeout yang ditentukan, alur akan timeout.

Contoh

  • Contoh alur berikut terdiri dari langkah tugas yang memanggil fungsi Function Compute:
    version: v1
    type: flow
    steps:
      - type: task
        name: hello
        resourceArn: acs:fc:{region}:{accountID}:services/fnf_test/functions/hello      
  • Contoh alur berikut terdiri dari dua langkah (step1 dan step4), di mana step1 berisi dua langkah anak (step2 dan step3).
    version: v1
    type: flow
    steps:
      - type: parallel
        name: step1
        branches:
          - steps:
            - type: pass
              name: step2
          - steps:
            - type: pass
              name: step3
      - type: pass
        name: step4       

Referensi

Untuk informasi lebih lanjut tentang fitur FDL, lihat topik berikut: