日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

內聯模式

Map狀態默認以內聯模式運行,內聯模式可以用于批量處理數據,簡化數據的轉換與處理流程,適用于操作集合內的每個元素,強調單一節點的處理。

基本概念

迭代狀態遍歷輸入中的某個數組類型參數,對于數組中的每個元素,并行執行其處理器(Processor)狀態。迭代狀態類似于編程語言中的foreach,不同之處是這里的迭代是并行執行的。

執行并行迭代步驟會并發執行輸入參數中的每個元素的處理器狀態。當所有分支執行結束后,默認將輸出一個包含所有分支結果的map[string]any,然后通過輸出構造器將結果進行進一步處理。

內聯模式包含以下屬性:

字段

類型

是否必選

描述

示例值

Name

string

狀態名稱。

my-state-name

Description

string

狀態描述。

describe it here

Type

string

狀態類型。

Map

InputConstructor

map[string]any

輸入構造器。

請參見輸入和輸出

ItemsPath

string

用于提取輸入數組的表達式。

請參見ItemsPath

Processor

Processor

迭代處理器。

請參見Processor

OutputConstructor

map[string]any

輸出構造器。

請參見狀態輸出構造器

Next

string

當前狀態的下一狀態。當End取值為true時,無需指定。

my-next-state

End

bool

是否為當前作用域的終結節點。

true

Retry

Retry

用于定義錯誤重試策略。

請參見錯誤處理

Catch

Catch

用于定義錯誤捕獲策略。

請參見錯誤處理

MaxConcuccency

int

用于配置最大并發數。

28

內聯模式的關鍵字段

ItemsPath

用于提取輸入數組的表達式。該表達式執行后返回JSON Array,則可以進行迭代,將其中每個元素傳入ItemProcessor進行處理;可使用表達式變量$Context和$Input,示例如下:

$Input.FieldA

Processor

迭代處理器。包含以下兩個字段:

字段

類型

是否必選

描述

示例值

States

array

內部嵌套的狀態數組。

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

StartAt

string

內部嵌套狀態數組的執行起點。

my start task

MaxConcuccency

MaxConcurrency支持對子工作流執行的并發配置,最大并發數可達到40。

使用示例

以下示例流程定義一個迭代狀態,這個迭代步驟處理器包含一個通過狀態。

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

流程的輸入構造結果如下所示。

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

針對Map,系統會對所有迭代Processor的輸出結果進行合并,默認以關鍵字 "Items" 作為Key,合并后的結果作為Value;Map1的輸出結果如下所示, 自動添加此輸出也是最后流程執行的輸出。

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