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

集成簡介

Serverless 工作流支持與多個云服務集成,即將其他服務作為任務步驟的執行單元。服務集成方式由FDL語言表達,在任務步驟中,您可以使用resourceArn來定義集成的目標服務,使用pattern定義集成模式。本文主要介紹了服務集成的相關內容,包括集成模式、上下文對象和已集成云服務。

關于可使用的云服務列表,請參見已集成云服務。

集成模式

目前Serverless 工作流支持三種不同的集成模式。

  • 請求響應模式:調用第三方服務,在Serverless 工作流獲得HTTP響應后進入下一個步驟。默認模式是請求響應模式。

    在FDL步驟中使用resourceArn描述目標服務,使用pattern: requestResponse(可選,若無該參數則為默認模式)描述服務集成模式。該模式下Serverless 工作流將在調用接口返回后立刻進入到下一步驟的執行。以子流程功能(Serverless 工作流作為被集成服務)為例。

    version: v1
    type: flow
    steps:
      - type: task
        name: testSubflow
        resourceArn: acs:fnf:::flow/flowABC #描述子流程。
        pattern: requestResponse #描述服務集成模式:默認(請求響應)模式。
      - type: pass
        name: dummy       

    該示例展示了當testSubflow步驟執行時會觸發一個flowABC流程。觸發成功后,將進入下一步驟dummyflowABC流程可能仍然正在執行。

  • 同步模式:通常這類服務提供了異步執行接口,Serverless 工作流調用異步接口成功后會等待,直到相關任務完成并獲得了執行結果,Serverless 工作流才會繼續執行下一個步驟。

    對于某些集成服務,Serverless 工作流可以等到該服務的任務運行完成后再進入下一個步驟。一般這類服務為執行某個任務提供了任務啟動(異步)的接口,需要提交任務并等待任務執行完成再進行下一步驟。

    在FDL步驟中使用resourceArn描述目標服務,使用pattern: sync描述服務集成模式。以子流程功能(Serverless 工作流作為被集成服務)為例。

    version: v1
    type: flow
    steps:
      - type: task
        name: testTask
        resourceArn: acs:fnf:::flow/flowABC #描述子流程。
        pattern: sync #描述服務集成模式:同步。
      - type: pass
        name: dummy          

    該示例展示了當該步驟執行時會觸發一個Serverless 工作流流程。觸發成功后將等待該流程的執行結果,執行完成后將進入下一步驟。當testTask步驟執行時會觸發一個flowABC流程。觸發成功后,將等待該流程的執行結果,執行完成后才進入下一步驟dummy,flowABC流程已經執行完成。

  • 等待回調模式:調用第三方服務并傳入任務令牌,Serverless 工作流將進入等待,直到您手動使用該令牌通知流程執行結果后才會繼續執行下一個步驟。

    回調任務將使當前流程在任務調度點暫停,直到收到任務令牌的回調指令。在FDL步驟中使用resourceArn描述目標服務,使用pattern: waitForCallback描述服務集成模式。以子流程功能(Serverless 工作流作為被集成服務)為例。

    version: v1
    type: flow
    steps:
      - type: task
        name: testSubflow
        resourceArn: acs:fnf:::flow/flowABC #描述子流程。
        pattern: waitForCallback #描述服務集成模式:等待回調。
      - type: pass
        name: dummy            

    該示例展示了當testSubflow步驟執行時會觸發一個flowABC流程。觸發成功后,將暫停流程執行,等待回調(通過ReportTaskSucceedReportTaskFailed API)。在收到回調請求并處理完成后,流程將進入下一步驟dummy。flowABC流程可能已經執行完成,也可能還在執行。其中回調是由您發起。

上下文對象

上下文對象是流程執行實例的內部JSON對象,其中包含了關于執行、步驟的相關信息。該對象提供外部訪問方式,在inputMappings中您可將context對象映射到具體變量中來實現訪問。目前開放的context對象結構如下所示。

"context": {
    "flow": {
      // 本流程的唯一標識符id和流程名稱、字符串類型。
        "id": "val1",
        "name "val2",
    },
    "execution": {
      // 本執行的名稱。
        "name": "val3"
    },
    "step": {
      // 本步驟的名稱。
        "name": "val4"
      // 本步驟的事件ID。
        "eventId": "val5"
      // 當前循環的次數,在循環步驟(foreach)下可以使用。
        "IterationIndex": "val6",
    },
    "task": {
      // 本步驟的標識符,為一個字符串,在回調模式(waitForCallback)下可以使用。
        "token": "val7",
    },
}       

使用方式:例如集成Serverless 工作流自身服務,需要在子流程中獲取調用其父流程的相關信息,并獲取調用步驟的taskToken用于回調,您可以通過以下方式獲取這兩個字段。

    ...
        inputMappings:
      - target: current_flow_name 
        source: $context.flow.name 
      - target: current_execution_name 
        source: $context.execution.name 
      - target: current_step_task_token 
        source: $context.task.token            

已集成云服務

方案

請求響應(requestResponse)

同步(sync)

等待回調(waitForCallback)

函數計算(FC)

支持

不支持

不支持

輕量消息隊列(原 MNS)隊列觸發器

支持

不支持

支持

輕量消息隊列(原 MNS)主題觸發器

支持

不支持

支持

Serverless 工作流(SWF)

支持

支持

支持