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.
- 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
succeedataufail. - 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
endatau menjalankan langkah berhasil atau gagal. - inputMappings: Opsional. Pemetaan input.
$inputyang direferensikan dalam pemetaan input adalah parameterInputdalam permintaan APIStartExecution. - outputMappings: Opsional. Pemetaan output.
$localyang direferensikan dalam pemetaan output adalah objek JSON yang mencatat hasil eksekusi setiap langkah serial.Catatan Jika tidak ada pemetaan output yang ditentukan,$localdigunakan 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 (
step1danstep4), di manastep1berisi dua langkah anak (step2danstep3).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: