工作流集群支持事件驅動功能,可通過監控事件觸發工作流自動運行,您可以使用該功能構建事件驅動的自動化系統。事件驅動支持各種事件源,包括阿里云對象存儲OSS、阿里云輕量消息隊列(原 MNS)、Git代碼倉庫,EventBrige等。
背景信息
事件驅動功能基于開源Argo Event項目構建,完全符合開源事件驅動標準,方便您將開源事件驅動遷移到工作流集群。
重點模塊說明:
Event Source
Argo Event自定義資源,針對不同的事件源創建不同的Event Source資源,并觸發創建Event Source Pod獲取事件。
當前工作流集群支持Git、阿里云對象存儲OSS、阿里云輕量消息隊列(原 MNS)作為事件源,如有其他需求,請提交工單申請。
Event Bus
Event Source獲取事件后,會緩存到Event Bus中。Event Bus支持以下兩種類型:
NATS:基于開源NATS構建的使用ECI運行的本地消息系統。
輕量消息隊列(原 MNS):通過使用云上輕量消息隊列(原 MNS)緩存事件,如果您已經使用輕量消息隊列(原 MNS),可以創建一個輕量消息隊列(原 MNS)作為Event Bus。
Event Sensor
從Event Bus中讀取事件,按照定義的規則過濾事件,并觸發工作流的運行。您可以參考開源Argo Event設置Sensor Trigger條件、轉換、過濾器等。
Event Sensor僅支持觸發創建Argo工作流,如果有其他需求,請提交工單申請。
計費說明
以下資源創建會涉及ECI實例計費,具體計費信息,請參見ECI計費概述。
創建Event Source后,會觸發創建一個Event Source Pod,并以ECI實例運行。
使用NATS方式創建Event Bus會創建一個Event Bus Pod,并以ECI實例運行。
創建Event Sensor后,會創建一個Event Sensor Pod,并以ECI實例運行。
前提條件
操作步驟
獲取工作流集群的ID。
通過命令行方式獲取。
aliyun adcp DescribeHubClusters --Profile=XFlow
通過控制臺方式獲取。
登錄工作流集群控制臺,在工作流集群頁面的基礎信息頁簽中獲取集群ID。
執行以下命令開啟事件驅動功能。
aliyun adcp UpdateHubClusterFeature --ArgoEventsEnabled true --ClusterId ***
重要請將ClusterId后的***替換為您在步驟1中實際獲取的工作流集群ID。
等待一段時間后,執行以下命令查看集群的詳細信息。
aliyun adcp DescribeHubClusterDetails --ClusterId ***
在返回結果中查看Condition類型為
EnabledArgoEvents
的狀態為True
,表示事件驅動功能開啟成功。預期結果如下:
{ "Message": "", "Reason": "", "Status": "True", "Type": "EnabledArgoEvents" }
后續操作
開啟事件驅動工作流功能后,您可以使用OSS事件觸發工作流,或者通過輕量消息隊列(原 MNS)觸發工作流。具體操作如下: