全部產品
Search
文件中心

Function Compute:函數建立方式選型

更新時間:Jul 06, 2024

為滿足不同情境下的使用者需求,Function Compute提供事件函數、Web函數和任務函數的建立方式。本文介紹Function Compute支援的建立函數方式的適用情境及差異,供您進行技術選型。

選型分析

對比項

事件函數

Web函數

任務函數

適用情境

按照Function Compute定義的介面編寫程式處理事件。

基於各個語言的流行架構(Java SpringBootNode.js ExpressPython FlaskGolang Gin等)編寫程式,或者遷移已有的架構應用。

容器鏡像

  • 完全控製程序啟動並執行環境,或者遷移已有的容器應用。

  • 使用GPU執行個體。

對函數發起非同步呼叫,且需要追蹤並儲存非同步呼叫各個階段的狀態,可以選擇建立任務函數。任務函數預設開啟任務模式,您可以使用任務模式提交、查看、停止和重試非同步任務。

冷啟動

最快。程式碼封裝中不包含運行時,所以冷啟動最快。

較快。Web函數使用公用鏡像,沒有鏡像拉取時間,所以冷啟動會較快。

較慢。需要拉取鏡像,所以冷啟動較慢。

最快。程式碼封裝中不包含運行時,所以冷啟動最快。

程式碼封裝限制

500 MB未解壓程式碼封裝

500 MB未解壓程式碼封裝

10 GB未解壓鏡像

500 MB未解壓程式碼封裝

程式碼封裝格式

ZIP、JAR(Java)、檔案夾

ZIP、JAR(Java)、檔案夾

參見什麼是Container RegistryACR

ZIP、JAR(Java)、檔案夾

是否支援GPU執行個體

不支援

不支援

支援

不支援

運行時環境

Node.js、Python、PHP、Java、.NET Core 、Go

無限制

無限制

Node.js、Python、PHP、Java、.NET Core 、Go

函數建立方式介紹

事件函數

如果您想按照Function Compute定義的介面編寫程式處理事件,請選擇事件函數。具體操作,請參見建立事件函數

image

Web函數

如果您想基於各個語言的流行架構(Java SpringBootNode.js ExpressPython FlaskGolang Gin等)編寫程式、自訂容器鏡像,或者遷移已有的架構應用,請選擇Web函數。具體操作,請參見建立Web函數

image

任務函數

如果您想對函數發起非同步呼叫,且需要追蹤並儲存非同步呼叫各個階段的狀態,可以選擇建立任務函數。任務函數預設開啟任務模式,您可以使用任務模式提交、查看、停止和重試非同步任務。詳情參見建立任務函數

image