All Products
Search
Document Center

CloudFlow:Langkah-langkah paralel

Last Updated:Jun 29, 2025

Topik ini menjelaskan langkah-langkah paralel beserta contoh terkait.

Ikhtisar

Langkah paralel digunakan untuk mengeksekusi beberapa langkah anak secara bersamaan. Langkah paralel mendefinisikan beberapa cabang, masing-masing berisi serangkaian langkah serial.

Setiap cabang dalam langkah paralel sesuai dengan variabel lokal. Saat langkah paralel dijalankan, langkah-langkah serial di semua cabang diproses secara bersamaan. Langkah-langkah serial tersebut memodifikasi variabel lokal yang sesuai dengan cabangnya. Setelah semua cabang selesai diproses, pemetaan keluaran dapat digunakan untuk mengonversi array variabel lokal cabang menjadi output dari langkah paralel.

Catatan Jumlah maksimum cabang dalam langkah paralel adalah 100.

Langkah paralel memiliki atribut-atribut berikut:

  • tipe: Wajib. Jenis langkah. Nilai parallel menunjukkan bahwa langkah tersebut merupakan langkah paralel.
  • nama: Wajib. Nama langkah.
  • cabang-cabang: Wajib. Beberapa cabang bertipe array. Setiap elemen sesuai dengan satu cabang.
    • langkah-langkah: Wajib. Beberapa langkah serial yang didefinisikan untuk sebuah cabang.
  • akhir: Opsional. Menentukan apakah akan melanjutkan ke langkah-langkah berikutnya setelah langkah saat ini selesai.
  • pemetaanMasukan: Opsional. Pemetaan masukan.
  • pemetaanKeluaran: Opsional. Pemetaan keluaran. Dalam langkah ini, $local adalah sebuah array. Setiap elemen dalam array adalah objek JSON yang mencatat hasil eksekusi setiap cabang.
    Catatan Jika tidak ada pemetaan keluaran yang ditentukan, langkah ini tidak menghasilkan output secara default.

Contoh

Alur sampel berikut mendefinisikan langkah paralel. Langkah paralel ini berisi dua cabang, dan setiap cabang berisi langkah pass.

version: v1
type: flow
steps:
  - type: parallel
    name: myparallel
    branches:
      - steps:
        - type: pass
          name: pass1
          outputMappings:
            - target: result
              source: pass1
      - steps:
        - type: pass
          name: pass2
          outputMappings:
            - target: result
              source: pass2
    outputMappings:
      - target: result
        source: $local[*].result          
  • Informasi berikut adalah output dari pass1:
    {
      "result": "pass1"
    }          
  • Informasi berikut adalah output dari pass2:
    {
      "result": "pass2"
    }           
  • Informasi berikut adalah output dari myparallel:
    {
      "result": ["pass1", "pass2"]
    }