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

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

云工作流(CloudFlow)是一個(gè)用來協(xié)調(diào)多個(gè)分布式任務(wù)執(zhí)行的全托管云服務(wù)。隨著云工作流新版本的發(fā)布,為您提供更加穩(wěn)定可靠的新版本升級(jí)說明。本文介紹云工作流新舊版本的差異及兼容性說明。

云工作流新版本優(yōu)勢

云工作流舊版本相比,新版本具有如下優(yōu)勢:

  • 完全遵循State Machine的工作流設(shè)計(jì)規(guī)范,提供更通用的工作流編排邏輯能力。

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

  • 全新Spec YAML語法升級(jí),顯著降低對(duì)Spec的理解成本。在抽象上對(duì)齊行業(yè)先進(jìn)水平,提供編排、執(zhí)行單元、數(shù)據(jù)操作符等更多擴(kuò)展語法。

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

  • 提供全新Express模式,提升大流量和高并發(fā)場景的使用體驗(yàn),降低整體工作流調(diào)用延遲。

API/SDK兼容性說明

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

更多參數(shù),請參見OpenAPI門戶網(wǎng)站

功能差異說明

新版本功能差異項(xiàng)

涉及接口

說明

新增Express執(zhí)行模式

新增Express執(zhí)行模式,服務(wù)在線業(yè)務(wù)API編排。

新增StartSyncExecution

StartSyncExecution - 同步調(diào)用開始一個(gè)流程的執(zhí)行

新增API StartSyncExecution,同步調(diào)用Express執(zhí)行模式的工作流。

新版Spec定義

支持全新YAML語義創(chuàng)建與執(zhí)行工作流。

新增IO構(gòu)造能力

-

借助InputConstructor和OutputConstructor及內(nèi)建函數(shù)可以靈活構(gòu)造數(shù)據(jù)。具體參考文檔如下:

新版執(zhí)行事件定義

GetExecutionHistory - 獲取一次執(zhí)行的步驟詳情

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

  • StateEntered:前一步驟給當(dāng)前步驟的輸入。

  • StateStarted:經(jīng)過輸入構(gòu)造器處理,即將開始執(zhí)行步驟。

  • StateSucceeded:執(zhí)行完成,且經(jīng)過輸出構(gòu)造器加工后的結(jié)果。當(dāng)前步驟執(zhí)行成功的輸出,也是下一步驟的輸入。

  • StateFailed:當(dāng)前步驟執(zhí)行失敗的輸出。

  • StateTimedOut:超時(shí)導(dǎo)致的失敗。

  • StateAborted:取消導(dǎo)致的失敗。

  • TaskSucceeded:集成系統(tǒng)執(zhí)行成功的結(jié)果。

  • TaskFailed:集成系統(tǒng)執(zhí)行失敗的結(jié)果。

新增Workflow Studio能力

-

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

新增Workflow在線調(diào)試能力

-

支持使用控制臺(tái)預(yù)調(diào)試工作流內(nèi)容,詳情請參見調(diào)試流程

新增部分產(chǎn)品優(yōu)化集成能力

-

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

新增阿里云云產(chǎn)品API集成

-

支持云工作流直接調(diào)用云產(chǎn)品的OpenAPI服務(wù)接口,不對(duì)這些服務(wù)接口做任何包裝處理和實(shí)現(xiàn)優(yōu)化,共計(jì)可使用多達(dá)上萬條API服務(wù)接口。

新增內(nèi)置函數(shù)

-

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

云工作流舊版遷移說明

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

新舊版本YAML差異對(duì)比

舊版

新版

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對(duì)應(yīng)新版SpecVersionversion支持v1和 v1beta1兩個(gè)版本, SpecVersion僅支持v1版本。

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

遷移流程

  1. 下載轉(zhuǎn)換包。云工作流目前提供適用于Linux系統(tǒng)和macOS系統(tǒng)的轉(zhuǎn)換包。

  2. 執(zhí)行以下命令,轉(zhuǎn)換YAML文件。

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

    執(zhí)行完成后,在命令行中即可打印轉(zhuǎn)換后的YAML文件。部分標(biāo)記為<TODO>的表達(dá)式內(nèi)容可能需要微調(diào)。

StepFunction遷移說明

StepFunction定義與云工作流轉(zhuǎn)換定義對(duì)比

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. 下載轉(zhuǎn)換包。云工作流目前提供適用于Linux系統(tǒng)和macOS系統(tǒng)的轉(zhuǎn)換包。

  2. 執(zhí)行以下命令,轉(zhuǎn)換YAML文件。

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

    執(zhí)行完成后,在命令行中即可打印轉(zhuǎn)換后的YAML文件。部分標(biāo)記為<TODO>的表達(dá)式內(nèi)容可能需要微調(diào)。