全部产品
Search
文档中心

CloudFlow:Mode Inline

更新时间:Jul 02, 2025

Secara default, Map states beroperasi dalam mode inline. Mode ini digunakan untuk memproses data secara batch dan menyederhanakan transformasi data serta pemrosesan. Mode ini berfokus pada satu node dan cocok untuk skenario di mana setiap elemen dalam koleksi memerlukan pemrosesan.

Ikhtisar

Map state digunakan untuk melintasi parameter bertipe array dalam input dan mengeksekusi Processor states secara paralel untuk semua elemen dalam array. Map state mirip dengan pernyataan foreach dalam bahasa pemrograman, namun iterasi dalam Map dieksekusi secara paralel.

Ketika Map state dijalankan, Processor states dari semua elemen dalam parameter input dieksekusi secara bersamaan. Secara default, sebuah map[string]any output yang berisi hasil dari semua cabang dikembalikan setelah semua cabang selesai diproses. Sistem kemudian menggunakan konstruktor output untuk memproses hasil lebih lanjut.

Tabel berikut menjelaskan bidang-bidang dalam mode inline.

Bidang

Tipe

Diperlukan

Deskripsi

Contoh

Nama

string

Ya

Nama dari state.

my-state-name

Deskripsi

string

Tidak

Deskripsi dari state.

jelaskan di sini

Tipe

string

Ya

Tipe dari state.

Map

InputConstructor

map[string]any

Tidak

Konstruktor input.

Lihat Inputs and outputs.

ItemsPath

string

Ya

Ekspresi yang digunakan untuk mengekstrak array dalam input.

Lihat ItemsPath.

Processor

Processor

Ya

Pemroses iterasi.

Lihat Processor.

OutputConstructor

map[string]any

Tidak

Konstruktor output.

Lihat State OutputConstructor.

Next

string

Tidak

State berikutnya yang dieksekusi setelah state saat ini selesai. Jika nilai field End adalah true, Anda tidak perlu menentukan field ini.

my-next-state

End

bool

Tidak

Menentukan apakah state ini adalah state terminal dari ruang lingkup saat ini.

true

Retry

Retry

Tidak

Kebijakan ulang kesalahan.

Lihat Penanganan kesalahan.

Catch

Catch

Tidak

Kebijakan tangkap kesalahan.

Lihat Penanganan kesalahan.

MaxConcuccency

int

Tidak

Tingkat konkurensi maksimum.

28

Bidang penting untuk mode inline

ItemsPath

Ekspresi yang digunakan untuk mengekstrak array dalam input. Jika array JSON dikembalikan setelah ekspresi ItemsPath dieksekusi, array tersebut akan diulang. Setiap elemen dalam array diteruskan ke ItemProcessor untuk diproses. Anda dapat menggunakan variabel ekspresi $Context dan $Input, seperti yang ditunjukkan dalam contoh berikut:

$Input.FieldA

Processor

Pemroses iterasi. Field ini mencakup dua field yang dijelaskan dalam tabel berikut.

Bidang

Tipe

Diperlukan

Deskripsi

Contoh

States

array

Ya

Array dari states.

Processor:
   StartAt: Pass1
   States:
     - Type: Pass
       Name: Pass1
       End: true

StartAt

string

Ya

State tempat eksekusi alur kerja dimulai.

tugas awal saya

MaxConcuccency

Jumlah maksimum sub-alur yang berjalan secara bersamaan. Nilai maksimum untuk field ini adalah 40.

Contoh kode

Contoh alur berikut mendefinisikan Map state. MapProcessor mencakup state Pass.

Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Map1
States:
  - Type: Map
    Name: Map1
    End: true
    InputConstructor:
      FieldA: 
        - a : b
        - c : d
        - e : f
    ItemsPath: $Input.FieldA
    Processor:
      StartAt: Pass1
      States:
        - Type: Pass
          Name: Pass1
          End: true

Contoh kode berikut memberikan ilustrasi hasil konstruksi input dari alur.

{
    "FieldA": [
        {
            "a": "b"
        },
        {
            "c": "d"
        },
        {
            "e": "f"
        }
    ]
}

Untuk Map, sistem menggabungkan output dari semua pemroses iterasi. Secara default, kata kunci Items digunakan sebagai kunci dan hasil gabungan sebagai nilai. Contoh kode berikut memberikan ilustrasi output dari Map1. Ini juga merupakan output akhir setelah alur dieksekusi.

{
    "Items": [
        {
            "a": "b"
        },
        {
            "c": "d"
        },
        {
            "e": "f"
        }
    ]
}