函數(shù)流簡介
創(chuàng)建函數(shù)流任務(wù)
操作步驟
登錄FunctionGraph控制臺,進入“函數(shù)流”頁面。
在“函數(shù)流”頁面,單擊“創(chuàng)建標(biāo)準(zhǔn)函數(shù)流”或“創(chuàng)建快速函數(shù)流”,進入新建函數(shù)流頁面。
說明:如果通過DWR側(cè)創(chuàng)建的函數(shù)流,在console頁面是沒有編輯和刪除權(quán)限,如需相關(guān)操作請在DWR側(cè)執(zhí)行。
編排函數(shù)流任務(wù),請您根據(jù)實際應(yīng)用進行函數(shù)流編排。
查看函數(shù)流任務(wù)
登錄FunctionGraph控制臺,進入“函數(shù)流”頁面。
在函數(shù)流頁面,支持設(shè)置函數(shù)流任務(wù)卡片顯示和列表顯示。
在函數(shù)流頁面,可以查看所有已創(chuàng)建的函數(shù)流任務(wù)。
單擊某一個函數(shù)流任務(wù)名稱,查看任務(wù)詳情。
函數(shù)流執(zhí)行歷史管理
標(biāo)準(zhǔn)函數(shù)流執(zhí)行歷史查詢
登錄FunctionGraph控制臺,在左側(cè)導(dǎo)航欄選擇“函數(shù)流”,進入“函數(shù)流”頁面。
在“函數(shù)流”流程列表頁面,單擊需要查看執(zhí)行歷史的流程,進入流程詳情頁面。
切換至“運行記錄”頁簽,查看執(zhí)行歷史運行記錄。
左側(cè)為執(zhí)行歷史記錄列表,展示最近100次執(zhí)行記錄,支持根據(jù)流程執(zhí)行ID進行查詢。
單擊左側(cè)的執(zhí)行記錄,中間畫布展示流程的執(zhí)行結(jié)果,如果節(jié)點執(zhí)行成功,圖標(biāo)背景為綠色,如果執(zhí)行失敗背景為紅色。
畫布下方輸入輸出展示區(qū)默認(rèn)展示流程的輸入和輸出,點擊上方任意節(jié)點,展示節(jié)點的輸入和輸出。
說明:對于函數(shù)流及函數(shù)流各個節(jié)點,若輸出值中有字段的值為null,則該字段會被直接過濾,不予展示。
最下方日志展示流程從開始到結(jié)束所有節(jié)點的執(zhí)行記錄。
快速函數(shù)流執(zhí)行日志查詢
登錄FunctionGraph控制臺,在左側(cè)導(dǎo)航欄選擇“函數(shù)流”,進入“函數(shù)流”頁面。
在“函數(shù)流”列表頁面,單擊需要查看執(zhí)行歷史的流程,進入函數(shù)流“基本信息”頁面。
切換至“日志”頁簽,查看執(zhí)行歷史日志。
可根據(jù)請求ID過濾日志,或自定義時間過濾日志,點擊請求ID查看執(zhí)行日志詳情。
失敗流程重試
登錄FunctionGraph控制臺,在左側(cè)導(dǎo)航欄選擇“函數(shù)流”,進入“函數(shù)流”頁面。
在“函數(shù)流”流程列表頁面,單擊需要查看執(zhí)行歷史的流程,進入流程詳情頁面。
切換至“運行記錄”頁簽,查看執(zhí)行歷史運行記錄。
在失敗的記錄右側(cè)單擊重試圖標(biāo),重試成功后會生成一條執(zhí)行記錄。
運行中流程終止
登錄FunctionGraph控制臺,在左側(cè)導(dǎo)航欄選擇“函數(shù)流”,進入“函數(shù)流”頁面。
在“函數(shù)流”流程列表頁面,單擊需要查看執(zhí)行歷史的流程,進入流程詳情頁面。
切換至“運行記錄”頁簽,單擊執(zhí)行中任務(wù)的停止圖標(biāo),終止成功后流程會進入取消狀態(tài)。
創(chuàng)建函數(shù)流觸發(fā)器
創(chuàng)建定時觸發(fā)器
登錄FunctionGraph控制臺,進入“函數(shù)流”頁面。
在“函數(shù)流”流程列表頁面,選擇需要創(chuàng)建觸發(fā)器的流程,單擊“編輯”,進入編輯頁面。
單擊“開始”節(jié)點,在右側(cè)彈出的屬性頁面添加觸發(fā)器,觸發(fā)器類型選擇“定時觸發(fā)器”。
填寫觸發(fā)器配置信息。
單擊“創(chuàng)建”,完成定時觸發(fā)器創(chuàng)建。
創(chuàng)建APIG(共享版)觸發(fā)器、創(chuàng)建SMN觸發(fā)器、創(chuàng)建EG觸發(fā)器和創(chuàng)建APIG(專享版)觸發(fā)器流程和上述類似,選擇對應(yīng)的觸發(fā)器類型即可。
流式文件處理
背景與價值
Serverless Workflow由于自身可編排、有狀態(tài)、持久化、可視化監(jiān)控、異常處理、云服務(wù)集成等特性,適用于很多應(yīng)用場景,比如:
復(fù)雜度高需要抽象的業(yè)務(wù)(訂單管理,CRM 等)
業(yè)務(wù)需要自動中斷 / 恢復(fù)能力,如多個任務(wù)之間需要人工干預(yù)的場景(人工審批,部署流水線等)
業(yè)務(wù)需要手動中斷 / 恢復(fù)(數(shù)據(jù)備份 / 恢復(fù)等)
需要詳細監(jiān)控任務(wù)執(zhí)行狀態(tài)的場景
流式處理(日志分析,圖片 / 視頻處理等)
當(dāng)前大部分 Serverless Workflow 平臺更多關(guān)注控制流程的編排,忽視了工作流中數(shù)據(jù)流的編排和高效傳輸,上述場景創(chuàng)建函數(shù)流觸發(fā)器中,由于數(shù)據(jù)流相對簡單,所以各大平臺支持都比較好,但是對于文件轉(zhuǎn)碼等存在超大數(shù)據(jù)流的場景,當(dāng)前各大平臺沒有給出很好的解決方案。華為云 FunctionGraph 函數(shù)工作流針對該場景,提出了 Serverless Streaming 的流式處理方案,支持毫秒級響應(yīng)文件處理。
技術(shù)原理
華為云 FunctionGraph 函數(shù)工作流提出 Serverless Streaming 的流式可編排的文件處理解決方案,步驟與步驟之間通過數(shù)據(jù)流驅(qū)動,更易于用戶理解。本章通過圖片處理的例子解釋該方案的實現(xiàn)機制。
如果需要驅(qū)動一個工作流執(zhí)行,工作流系統(tǒng)需要處理兩個部分:
控制流:控制工作流的步驟間流轉(zhuǎn),以及步驟對應(yīng)的 Serverless 函數(shù)的執(zhí)行。確保步驟與步驟之間有序執(zhí)行。
數(shù)據(jù)流:控制整個工作流的數(shù)據(jù)流轉(zhuǎn),通常來說上一個步驟的輸出是下一個步驟的輸入,比如上述圖片處理工作流中,圖片壓縮的結(jié)果是打水印步驟的輸入數(shù)據(jù)。
在普通的服務(wù)編排中,由于需要精準(zhǔn)控制各個服務(wù)的執(zhí)行順序,所以控制流是工作流的核心部分。然而在文件處理等流式處理場景中,對控制流的要求并不高,以上述圖片處理場景舉例,可以對大圖片進行分塊處理,圖片壓縮和加水印的任務(wù)不需要嚴(yán)格的先后順序,圖片壓縮處理完一個分塊可以直接流轉(zhuǎn)到下一個步驟,而不需要等待圖片壓縮把所有分塊處理完再開始加水印的任務(wù)。
操作步驟
創(chuàng)建一個圖片壓縮的函數(shù),其中代碼在處理返回數(shù)據(jù)通過 ctx.Write() 函數(shù)將結(jié)果以流式數(shù)據(jù)的形式返回:
說明:目前只支持go函數(shù)!
FunctionGraph 通過 ctx.Write() 函數(shù)提供了流式返回的能力,對開發(fā)者來說,只需要將最終結(jié)果通過流的方式返回,而不需要關(guān)注網(wǎng)絡(luò)傳輸?shù)募毠?jié)。
在 FunctionGraph 的函數(shù)流控制臺完成工作流編排,舉例如下。
調(diào)用工作流的同步執(zhí)行接口,獲取最終結(jié)果的文件流,數(shù)據(jù)將以 chunked 流式返回的方式返回到客戶端。
函數(shù)工作流 FunctionGraph 常見問題
函數(shù)工作流 FunctionGraph 常見問題
函數(shù)工作流 FunctionGraph 精選推薦
1對1咨詢專屬顧問
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1