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