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

云工作流新舊版本差異及兼容性說明

云工作流(CloudFlow)是一個用來協調多個分布式任務執行的全托管云服務。隨著云工作流新版本的發布,為您提供更加穩定可靠的新版本升級說明。本文介紹云工作流新舊版本的差異及兼容性說明。

云工作流新版本優勢

云工作流舊版本相比,新版本具有如下優勢:

  • 完全遵循State Machine的工作流設計規范,提供更通用的工作流編排邏輯能力。

  • 支持近乎全部云產品及場景的編排組合方式,提供更豐富的生態集成方案。

  • 全新Spec YAML語法升級,顯著降低對Spec的理解成本。在抽象上對齊行業先進水平,提供編排、執行單元、數據操作符等更多擴展語法。

  • 更便捷的工作流開發體驗,提供全新的Studio拖拽形式編輯,提供在線調試及YAML預覽,幫助用戶快速上手工作流開發。

  • 提供全新Express模式,提升大流量和高并發場景的使用體驗,降低整體工作流調用延遲。

API/SDK兼容性說明

云工作流新版本完全兼容舊版API/SDK。例如,您創建了新版本工作流,客戶端使用的是最新版SDK,則新版功能全部支持;若您的客戶端使用老版本SDK,則無法使用新版Express等新版對應的產品能力。

更多參數,請參見OpenAPI門戶網站

功能差異說明

新版本功能差異項

涉及接口

說明

新增Express執行模式

新增Express執行模式,服務在線業務API編排。

新增StartSyncExecution

StartSyncExecution - 同步調用開始一個流程的執行

新增API StartSyncExecution,同步調用Express執行模式的工作流。

新版Spec定義

支持全新YAML語義創建與執行工作流。

新增IO構造能力

-

借助InputConstructor和OutputConstructor及內建函數可以靈活構造數據。具體參考文檔如下:

新版執行事件定義

GetExecutionHistory - 獲取一次執行的步驟詳情

支持全新事件類型定義。取值說明如下:

  • StateEntered:前一步驟給當前步驟的輸入。

  • StateStarted:經過輸入構造器處理,即將開始執行步驟。

  • StateSucceeded:執行完成,且經過輸出構造器加工后的結果。當前步驟執行成功的輸出,也是下一步驟的輸入。

  • StateFailed:當前步驟執行失敗的輸出。

  • StateTimedOut:超時導致的失敗。

  • StateAborted:取消導致的失敗。

  • TaskSucceeded:集成系統執行成功的結果。

  • TaskFailed:集成系統執行失敗的結果。

新增Workflow Studio能力

-

支持圖形化拖拽生成工作流,詳情請參見界面概覽

新增Workflow在線調試能力

-

支持使用控制臺預調試工作流內容,詳情請參見調試流程

新增部分產品優化集成能力

-

支持云工作流對象存儲事件總線短信服務 SMS(Short Message Service)、HSF以及HTTP的優化集成能力。

新增阿里云云產品API集成

-

支持云工作流直接調用云產品的OpenAPI服務接口,不對這些服務接口做任何包裝處理和實現優化,共計可使用多達上萬條API服務接口。

新增內置函數

-

云工作流的流程定義語言提供部分內置函數,您可以使用內置函數執行基本的數據處理操作。更多信息,請參見內置函數

云工作流舊版遷移說明

云工作流新版本與舊版本的主要差異在于YAML定義語法不同,可新創建新版工作流的YAML替代舊版工作流的YAML,完成遷移。

新舊版本YAML差異對比

舊版

新版

version: v1beta1
type: flow
steps:
  - type: task
    name: APIParseFace
    action: imageseg:ParseFace
    inputMappings:
      - target: image
        source: $input.faceURL
    outputMappings:
      - target: parseFace_OriginImageURL
        source: $local.Data.OriginImageURL
    serviceParams:
      ImageURL: $.image    
    retry:
      - errors:
          - ErrorNeedsRetry
        intervalSeconds: 10
        maxAttempts: 3
        multiplier: 2
      - errors:
          - FC.ResourceThrottled
          - FC.ResourceExhausted
          - FC.InternalServerError
          - FnF.TaskTimeout
          - FC.Unknown
        intervalSeconds: 3
        maxAttempts: 10
        multiplier: 2
    catch:
      - errors:
          - ErrorNeedsRetry
        goto: final

  - type: choice
    name: mychoice0
    choices:
      - condition: $.status == "ready"
        steps:
          - type: pass
            name: pass11
      - condition: $.status == "failed"
        goto: final
    default:
      steps:
        - type: pass
          name: pass12
      goto: final
  - type: parallel
    name: myparallel
    branches:
      - steps:
          - type: pass
            name: pass21
            outputMappings:
              - target: result
                source: pass1
      - steps:
          - type: pass
            name: pass22
            outputMappings:
              - target: result
                source: pass21
    outputMappings:
      - target: result
        source: $local[*].result
  - type: foreach
    name: myforeach
    iterationMapping:
      collection: $.names
      item: name
    steps:
      - type: task
        name: toUpperCase11
        resourceArn: acs:fc:{region}:{account}:services/fnf_test/functions/toUpperCase
    outputMappings:
      - target: names
        source: $local[*].name
  - type: fail
    name: handle_failure
    error: StatusIsNotReady
    cause: status is not ready
  - type: pass
    name: final
Type: StateMachine
Version: v1beta1
SpecVersion: v1
StartAt: APIParseFace
States:
  - Type: Task
    Name: APIParseFace
    Action: <TODO> imageseg:ParseFace
    TaskMode: RequestComplete
    InputConstructor:
      image.$: <TODO> $Input.faceURL
    OutputConstructor:
      parseFace_OriginImageURL.$: <TODO> $Output.Data.OriginImageURL
    Parameters:
      resourceArn: ""    
    Retry:
      - Errors:
          - ErrorNeedsRetry
        BackoffRate: 2
        IntervalSeconds: 10
        MaxAttempts: 3
      - Errors:
          - FC.ResourceThrottled
          - FC.ResourceExhausted
          - FC.InternalServerError
          - FnF.TaskTimeout
          - FC.Unknown
        BackoffRate: 2
        IntervalSeconds: 3
        MaxAttempts: 10
    Catch:
      - Errors:
          - ErrorNeedsRetry
        Next: final
    Next: mychoice0
  - Type: Choice
    Name: mychoice0
    Branches:
      - Condition: <TODO> $.status == "ready"
        Name: $.status == "ready"
        Next: pass11
      - Condition: <TODO> $.status == "failed"
        Name: $.status == "failed"
        Next: final
      Default: pass12
    Next: myparallel
  - Type: Parallel
    Name: myparallel
    Branches:
      - Type: ParallelBranch
        StartAt: pass21
        States:
          - Type: Pass
            Name: pass21
            End: true
            OutputConstructor:
              result: pass1
      - Type: ParallelBranch
        StartAt: pass22
        States:
          - Type: Pass
            Name: pass22
            End: true
            OutputConstructor:
              result: pass21
    OutputConstructor:
      result.$: <TODO> $Output[*].result
    Next: myforeach
  - Type: Map
    Name: myforeach
    ItemKey: name
    ItemsPath: <TODO> $Input.names
    OutputConstructor:
      names.$: <TODO> $Output[*].name
    Processor:
      Type: MapProcessor
      StartAt: toUpperCase11
      States:
        - Type: Task
          Name: toUpperCase11
          Action: FC:InvokeFunction
          Parameters:
            resourceArn: acs:fc:{region}:{account}:services/fnf_test/functions/toUpperCase
          TaskMode: RequestComplete
          End: true
    Next: handle_failure
  - Type: Fail
    Name: handle_failure
    Code: StatusIsNotReady
    Detail: status is not ready
  - Type: Pass
    Name: final
    End: true
  - Type: Pass
    Name: pass12
  - Type: Pass
    Name: pass11
說明
  • 舊版version對應新版SpecVersionversion支持v1和 v1beta1兩個版本, SpecVersion僅支持v1版本。

  • 新版Version是用戶管理自己流程時,自定義的版本信息。

遷移流程

  1. 下載轉換包。云工作流目前提供適用于Linux系統和macOS系統的轉換包。

  2. 執行以下命令,轉換YAML文件。

    # 使用Mac M系列芯片系統轉換舊版本定義到新版
    ./轉換工具-macos-aarch64 --action=v2tov3 -f source.yaml
    # 在Linux系統上轉換舊版本定義到新版
    ./轉換工具-linux-amd64 --action=v2tov3 -f source.yaml
    說明

    執行完成后,在命令行中即可打印轉換后的YAML文件。部分標記為<TODO>的表達式內容可能需要微調。

StepFunction遷移說明

StepFunction定義與云工作流轉換定義對比

StepFunction

云工作流

{
  "Comment": "A Hello World example",
  "StartAt": "Parallel",
  "States": {
    "Parallel": {
      "Type": "Parallel",
      "Branches": [
        {
          "StartAt": "Success",
          "States": {
            "Success": {
              "Type": "Succeed"
            }
          }
        },
        {
          "StartAt": "Lambda Invoke",
          "States": {
            "Lambda Invoke": {
              "Type": "Task",
              "Resource": "arn:aws:states:::lambda:invoke.waitForTaskToken",
              "OutputPath": "$.Payload",
              "Parameters": {
                "FunctionName.$": "$.a.b",
                "Payload": {
                  "sampleKey1": "sampleValue1",
                  "key2.$": "$.myStateInput.key",
                  "key3": 100
                }
              },
              "Retry": [
                {
                  "ErrorEquals": [
                    "Lambda.ServiceException",
                    "Lambda.TooManyRequestsException",
                    "States.ALL"
                  ],
                  "IntervalSeconds": 2,
                  "MaxAttempts": 6,
                  "BackoffRate": 2,
                  "Comment": "aaa"
                }
              ],
              "Next": "Pass (3)",
              "Catch": [
                {
                  "ErrorEquals": [
                    "States.ALL"
                  ],
                  "Comment": "bbb",
                  "Next": "Fail"
                }
              ],
              "InputPath": "$.a.b"
            },
            "Pass (3)": {
              "Type": "Pass",
              "End": true
            }
          }
        }
      ],
      "Next": "Pass (4)"
    },
    "Pass (4)": {
      "Type": "Pass",
      "End": true
    }
  }
}
Type: StateMachine
SpecVersion: v1
StartAt: Parallel
States:
  - Type: Parallel
    Name: Parallel
    Next: Pass (4)
    Branches:
      - Type: ParallelBranch
        StartAt: Success
        States:
          - Type: Succeed
            Name: Success
      - Type: ParallelBranch
        StartAt: Lambda Invoke
        States:
          - Type: Task
            Name: Lambda Invoke
            Action: <TODO> arn:aws:states:::lambda:invoke.waitForTaskToken
            InputConstructor:
              $: <TODO> $Input.a.b
              FunctionName.$: <TODO> $Input.a.b
            Payload:
              key2.$: $.myStateInput.key
              key3: 100
              sampleKey1: sampleValue1
            OutputConstructor:
              $: <TODO> $Input.Payload
            Retry:
              - Errors:
                  - Lambda.ServiceException
                  - Lambda.TooManyRequestsException
                  - States.ALL
                BackoffRate: 2
                IntervalSeconds: 2
                MaxAttempts: 6
            Catch:
              - Errors:
                  - States.ALL
                Next: Fail
            Next: Pass (3)
          - Type: Pass
            Name: Pass (3)
            End: true
  - Type: Pass
    Name: Pass (4)
    End: true

遷移流程

  1. 下載轉換包。云工作流目前提供適用于Linux系統和macOS系統的轉換包。

  2. 執行以下命令,轉換YAML文件。

    # 使用Mac M系列芯片系統轉換stepfunction定義到新版
    ./轉換工具-macos-aarch64 --action=awstov3 -f source.json
    # 在Linux系統上轉換stepfunction定義到新版
    ./轉換工具-linux-amd64 --action=awstov3 -f source.json
    說明

    執行完成后,在命令行中即可打印轉換后的YAML文件。部分標記為<TODO>的表達式內容可能需要微調。