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

基本介紹

本文介紹了流程定義語言的基本知識和相關(guān)使用示例。

基本知識

流程定義語言FDL(Flow Definition Language)用來描述和定義業(yè)務(wù)邏輯,在執(zhí)行流程時,Serverless 工作流服務(wù)會根據(jù)流程定義依次執(zhí)行相關(guān)步驟。在FDL中,一個流程(Flow)通常包含若干步驟(Step),這些步驟可以是簡單的原子步驟,如任務(wù)(task)、成功(succeed)、失敗(fail)、等待(wait)和傳遞(pass)等;也可以是復(fù)雜的控制步驟,如選擇(choice)、并行(parallel)和并行循環(huán)(foreach)等。這些步驟可以組合使用以構(gòu)建復(fù)雜的業(yè)務(wù)邏輯,例如一個并行步驟的分支可以是一個順序步驟。同時,步驟執(zhí)行可能出現(xiàn)錯誤,但是FDL提供了錯誤重試(retry)和捕獲(catch)能力。

FDL 的步驟類似于編程語言中的函數(shù)(Function),組合類似于函數(shù)調(diào)用。步驟之間通過輸入(Input)和輸出(Output)傳遞數(shù)據(jù),每個步驟由本地(Local)變量保存數(shù)據(jù)。如果一個步驟包含另一個步驟,則稱外層步驟為父步驟,被包含步驟為子步驟。

在定義流程時,您可以:
  • 通過傳遞(pass)步驟來做占位符規(guī)劃流程基本結(jié)構(gòu)。
  • 通過任務(wù)(task)步驟去調(diào)用函數(shù)計算服務(wù)的函數(shù)。
  • 如果需要等待一段時間可以通過等待(wait)步驟暫停流程的執(zhí)行。
  • 通過選擇(choice)步驟來定義不同執(zhí)行路徑。
  • 通過成功(succeed)步驟或者失敗(fail)步驟來提前終止流程步驟。
  • 通過并行(parallel)步驟來并行執(zhí)行多個分支。
  • 通過并行循環(huán)(foreach)步驟來并行處理數(shù)組數(shù)據(jù)。

流程包含以下屬性:

  • version(必需):流程版本,僅支持v1
  • type(必需):flow表示是流程類型。
  • steps(必需):定義了流程的多個串行步驟。一個步驟執(zhí)行完成后,如果成功,則會執(zhí)行下一個步驟。如果需要提前結(jié)束,可以使用步驟的結(jié)束(end)屬性,或者使用成功和失敗步驟。
  • inputMappings(可選):輸入映射。輸入映射中引用的$inputStartExecution API請求的Input參數(shù)。
  • outputMappings(可選):輸出映射。輸入映射中的引用的$local是一個JSON對象,記錄了串行的每個步驟的執(zhí)行結(jié)果。
    說明 如果未指定輸出映射,將$local作為最終流程輸出。
  • timeoutSeconds(可選):流程超時時間。如果流程執(zhí)行超過指定的超時時間,則流程執(zhí)行超時。

示例

  • 以下的示例流程包含一個任務(wù)步驟,這個步驟調(diào)用一個函數(shù)計算的函數(shù)。
    version: v1
    type: flow
    steps:
      - type: task
        name: hello
        resourceArn: acs:fc:{region}:{accountID}:services/fnf_test/functions/hello      
  • 以下示例流程包含兩個子步驟(step1step4),其中第一個步驟(step1)又包含了兩個子步驟(step2step3)。
    version: v1
    type: flow
    steps:
      - type: parallel
        name: step1
        branches:
          - steps:
            - type: pass
              name: step2
          - steps:
            - type: pass
              name: step3
      - type: pass
        name: step4       

更多信息

流程定義語言的特性,請參見以下文檔: