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

集成云工作流

云工作流支持將云工作流本身作為流程的節點集成到一個工作流中,即通過一個流程觸發另一個或多個子流程。本文介紹云工作流集成云工作流的示例代碼、參數說明、返回值說明和支持的集成模式以及錯誤定義。

示例代碼

以下為一個典型的云工作流集成示例代碼。

Type: StateMachine
Name: MyWorkflow
SpecVersion: v1
StartAt: StartExecution
States:
  - Type: Task
    Name: StartExecution
    Action: FNF:StartExecution
    TaskMode: RequestComplete
    Description: 調用工作流示例
    Parameters:
      resourceArn: acs:fnf:cn-hangzhou::flow/test-workflow
      executionName: theExecutionName
      input:
        key: value1
    End: true

代碼解析如下。

參數說明

參數名稱

是否必選

參數說明

示例值

resourceArn

工作流的ARN形式定義,該值可以從云工作流控制臺的工作流詳情頁獲得。

說明

工作流暫不支持跨地域的子流程調用。

acs:fnf:::flow/test-workflow

executionName

每次執行工作流時使用的執行名稱。

  • 如果不傳該值,系統會自動分配一個唯一值。

  • 如果傳該值,需要在目標流程下確保唯一性。

test-execution-name

input

工作流的業務數據輸入。只支持對象類型。

input.$:
  key1: val1
  key2: $Input.age

返回值說明

業務請求的返回結果,會被包裝在一個JSON對象中,示例如下。

{
    "FlowName": "test-workflow",
    "ExecutionName": "36cc6107-26cc-495f-b80b-d9fadff13fdd",
    "RequestID": "12423452346y345634"
}

執行模式

云工作流集成云工作流時,支持請求響應(RequestComplete)等待系統回調(WaitForSystemCallback)等待用戶自定義回調(WaitForCustomCallback)集成模式。

RequestComplete

發起子工作流調用后,當前啟動新流程的請求完成即視為對應的Task完成。并以StartExecution的返回作為當前Task的輸出。

WaitForCustomCallback

工作流發起子流程調用以后,會向下游流程傳遞一個回調Token,而父流程進入掛起狀態。等待用戶使用分配的Token回調系統的ReportTaskSucceeded - 匯報指定的任務執行成功ReportTaskFailed - 匯報指定的任務執行失敗接口上報執行結果,進而推進父流程的執行。

要在下游流程獲得每次執行的唯一Token,需要用戶自己定義一個Token的參數,如下所示。

Type: StateMachine
Name: MyWorkflow
SpecVersion: v1
StartAt: StartExecution
States:
  - Type: Task
    Name: StartExecution
    Action: FNF:StartExecution
    TaskMode: RequestComplete
    Description: 調用工作流示例
    Parameters:
      resourceArn: acs:fnf:cn-hangzhou::flow/test-workflow
      executionName: theExecutionName
      input:
        key: value1
        token.$: $Context.Current.TaskToken
    End: true

其中Token參數就是回調需要使用的數據,token本身可以由使用者任意改名,但是必須使用$Context.Current.TaskToken獲得其真實值。

WaitForSystemCallback

發起子工作流調用后,流程執行自動暫停。當子流程執行完成以后,系統自動回調父流程,并繼續后續步驟。

錯誤定義

  • FNF.ResourceThrottled : 流程執行被限流。

  • FNF.FlowNotExists : 工作流不存在。

  • FNF.AccessDenied : 禁止訪問,當前用戶或者角色不具備執行目標流程的權限。

  • FNF.ExecutionAlreadyExists : 同名的執行已存在。

  • FNF.InternalServerError : 服務器內部錯誤。