什么是函數(shù)工作流
什么是函數(shù)工作流
由淺入深,帶您認識華為云函數(shù)工作流 FunctionGraph
由淺入深,帶您認識華為云函數(shù)工作流 FunctionGraph
函數(shù)工作流(FunctionGraph),是一項基于事件驅(qū)動的函數(shù)托管計算服務。通過函數(shù)工作流,只需編寫業(yè)務函數(shù)代碼并設置運行的條件,無需配置和管理服務器等基礎設施,函數(shù)以彈性、免運維、高可靠的方式運行。此外,按函數(shù)實際執(zhí)行資源計費,不執(zhí)行不產(chǎn)生費用。
函數(shù)工作流(FunctionGraph)是一項基于事件驅(qū)動的函數(shù)托管計算服務。通過函數(shù)工作流,只需編寫業(yè)務函數(shù)代碼并設置運行的條件,無需配置和管理服務器等基礎設施。同時,按函數(shù)實際執(zhí)行資源計費。
函數(shù)工作流服務提供的功能有函數(shù)管理、觸發(fā)器管理、日志和監(jiān)控、初始化功能、函數(shù)流、統(tǒng)一插件開發(fā)和調(diào)試、HTTP函數(shù)、調(diào)用鏈、自定義鏡像。
函數(shù)工作流應用場景,如實時文件處理、實時數(shù)據(jù)流處理、Web移動應用后端和人工智能場景。
函數(shù)工作流采用按需付費方式,無最低費用,分別對請求次數(shù)和執(zhí)行時間進行收費。即總費用 = 請求次數(shù)費用 + 執(zhí)行時間費用
如果您需要對FunctionGraph的函數(shù)資源,給企業(yè)中的員工設置不同的訪問權(quán)限,以達到不同員工之間的權(quán)限隔離,您可以使用統(tǒng)一身份認證服務(Identity and Access Management,簡稱IAM)進行精細的權(quán)限管理。該服務提供用戶身份認證、權(quán)限分配、訪問控制等功能,可以幫助您安全的控制公有云資源的訪問。
FunctionGraph服務可以與SMN、API Gateway、OBS、DIS、LTS、CTS、DDS、CES、VPC服務對接,實現(xiàn)相關功能。
要創(chuàng)建FunctionGraph函數(shù),首先需要創(chuàng)建函數(shù)部署程序包(包含代碼和所有依賴項的文件)。用戶可以自行創(chuàng)建部署程序包或直接在FunctionGraph函數(shù)控制臺在線編輯代碼,控制臺將創(chuàng)建并上傳部署程序包,從而實現(xiàn)FunctionGraph函數(shù)的創(chuàng)建。
事件數(shù)據(jù)作為event參數(shù)傳入入口函數(shù),配置后保存可以持久化,以便下次測試使用。每個函數(shù)最多可配置10個測試事件。
函數(shù)是實現(xiàn)某一功能所需代碼、運行時、資源、設置的組合,是可以獨立運行的最小單元。函數(shù)通過Trigger觸發(fā),自行調(diào)度所需資源及環(huán)境,實現(xiàn)預期功能。
函數(shù)代碼一般包含公共庫和業(yè)務邏輯兩部分。對于公共庫,您可以打包成依賴包單獨管理,共享給多個函數(shù)使用,同時也減少了函數(shù)代碼包部署、更新時的體積。
為防止資源濫用,平臺限定了各服務資源的配額,對用戶的資源數(shù)量和容量做了限制。如您最多可以創(chuàng)建多少臺彈性云服務器、多少塊云硬盤。如果當前資源配額限制無法滿足使用需要,您可以申請擴大配額。
函數(shù)工作流提供了按量和預留兩種類型的實例。按量實例是由函數(shù)工作流根據(jù)用戶使用函數(shù)的實際情況來創(chuàng)建和釋放。預留實例是將函數(shù)實例的創(chuàng)建和釋放交由用戶管理,當您為某一函數(shù)創(chuàng)建了預留實例,函數(shù)工作流收到此函數(shù)的調(diào)用請求時,會優(yōu)先將請求轉(zhuǎn)發(fā)給您的預留實例。
FunctionGraph函數(shù)Runtime支持多種運行時語言:Python 、Node.js、Java、Go、C#、PHP及自定義運行時。
FunctionGraph函數(shù)支持的云服務,可以將這些服務配置為FunctionGraph函數(shù)的事件源。在預配置事件源映射后,這些事件源檢測事件時將自動調(diào)用FunctionGraph函數(shù)。
本章節(jié)以Linux主機為例,指導您基于KooCLI和軟件開發(fā)生產(chǎn)線CodeArts搭建一套FunctionGraph函數(shù)的CI/CD。
函數(shù)工作流(FunctionGraph)開發(fā)工具支持CloudIDE、VSCode本地調(diào)試、Eclipse-plugin和PyCharm-Plugin。
Initializer是函數(shù)的初始化邏輯入口,不同于請求處理邏輯入口的handler,在有函數(shù)初始化的需求場景中,設置了Initializer后,F(xiàn)unctionGraph首先調(diào)用initializer完成函數(shù)的初始化,之后再調(diào)用handler處理請求;如果沒有函數(shù)初始化的需求則可以跳過initializer,直接調(diào)用handler處理請求。
函數(shù)除了支持在線編輯代碼,還支持上傳ZIP、JAR、引入OBS文件等方式上傳代碼。
函數(shù)工作流 FunctionGraph 常見問題
了解華為云函數(shù)工作流 FunctionGraph 學習視頻
幫助您快速了解華為云函數(shù)工作流 FunctionGraph 功能特性
介紹如何使用空白模板創(chuàng)建函數(shù)
03:15
介紹如何使用OBS觸發(fā)器
03:10
介紹如何使用SMN觸發(fā)器
02:33
介紹如何使用DIS觸發(fā)器
02:42
介紹如何使用定時觸發(fā)器
02:18
介紹如何創(chuàng)建函數(shù)依賴包
02:42