云工作流(CloudFlow)是一個用來協調多個分布式任務執行的全托管云服務。隨著云工作流新版本的發布,為您提供更加穩定可靠的新版本升級說明。本文介紹云工作流新舊版本的差異及兼容性說明。
云工作流新版本優勢
與云工作流舊版本相比,新版本具有如下優勢:
完全遵循State Machine的工作流設計規范,提供更通用的工作流編排邏輯能力。
支持近乎全部云產品及場景的編排組合方式,提供更豐富的生態集成方案。
全新Spec YAML語法升級,顯著降低對Spec的理解成本。在抽象上對齊行業先進水平,提供編排、執行單元、數據操作符等更多擴展語法。
更便捷的工作流開發體驗,提供全新的Studio拖拽形式編輯,提供在線調試及YAML預覽,幫助用戶快速上手工作流開發。
提供全新Express模式,提升大流量和高并發場景的使用體驗,降低整體工作流調用延遲。
API/SDK兼容性說明
云工作流新版本完全兼容舊版API/SDK。例如,您創建了新版本工作流,客戶端使用的是最新版SDK,則新版功能全部支持;若您的客戶端使用老版本SDK,則無法使用新版Express等新版對應的產品能力。
更多參數,請參見OpenAPI門戶網站。
功能差異說明
新版本功能差異項 | 涉及接口 | 說明 |
新增Express執行模式 | 新增Express執行模式,服務在線業務API編排。 | |
新增StartSyncExecution | 新增API StartSyncExecution,同步調用Express執行模式的工作流。 | |
新版Spec定義 | 支持全新YAML語義創建與執行工作流。 | |
新增IO構造能力 | - | 借助InputConstructor和OutputConstructor及內建函數可以靈活構造數據。具體參考文檔如下: |
新版執行事件定義 | 支持全新事件類型定義。取值說明如下: | |
新增Workflow Studio能力 | - | 支持圖形化拖拽生成工作流,詳情請參見界面概覽。 |
新增Workflow在線調試能力 | - | 支持使用控制臺預調試工作流內容,詳情請參見調試流程。 |
新增部分產品優化集成能力 | - | 支持云工作流與對象存儲、事件總線、短信服務 SMS(Short Message Service)、HSF以及HTTP的優化集成能力。 |
新增阿里云云產品API集成 | - | 支持云工作流直接調用云產品的OpenAPI服務接口,不對這些服務接口做任何包裝處理和實現優化,共計可使用多達上萬條API服務接口。 |
新增內置函數 | - | 云工作流的流程定義語言提供部分內置函數,您可以使用內置函數執行基本的數據處理操作。更多信息,請參見內置函數。 |
云工作流舊版遷移說明
云工作流新版本與舊版本的主要差異在于YAML定義語法不同,可新創建新版工作流的YAML替代舊版工作流的YAML,完成遷移。
新舊版本YAML差異對比
舊版 | 新版 |
|
|
舊版
version
對應新版SpecVersion
,version
支持v1和 v1beta1兩個版本,SpecVersion
僅支持v1版本。新版
Version
是用戶管理自己流程時,自定義的版本信息。
遷移流程
下載轉換包。云工作流目前提供適用于Linux系統和macOS系統的轉換包。
Linux系統:轉換工具-linux-amd64
macOS系統:轉換工具-macos-aarch64
執行以下命令,轉換YAML文件。
# 使用Mac M系列芯片系統轉換舊版本定義到新版 ./轉換工具-macos-aarch64 --action=v2tov3 -f source.yaml # 在Linux系統上轉換舊版本定義到新版 ./轉換工具-linux-amd64 --action=v2tov3 -f source.yaml
說明執行完成后,在命令行中即可打印轉換后的YAML文件。部分標記為<TODO>的表達式內容可能需要微調。
StepFunction遷移說明
StepFunction定義與云工作流轉換定義對比
StepFunction | 云工作流 |
|
|
遷移流程
下載轉換包。云工作流目前提供適用于Linux系統和macOS系統的轉換包。
Linux系統:轉換工具-linux-amd64
macOS系統:轉換工具-macos-aarch64
執行以下命令,轉換YAML文件。
# 使用Mac M系列芯片系統轉換stepfunction定義到新版 ./轉換工具-macos-aarch64 --action=awstov3 -f source.json # 在Linux系統上轉換stepfunction定義到新版 ./轉換工具-linux-amd64 --action=awstov3 -f source.json
說明執行完成后,在命令行中即可打印轉換后的YAML文件。部分標記為<TODO>的表達式內容可能需要微調。