如果需要通過特定的事件觸發函數,如OSS觸發器、RocketMQ觸發器等訊息類觸發器,可以選擇建立事件函數。此時,需要按照Function Compute定義的介面編寫函數和程式。Function Compute的資源調度與運行以函數為單位。不同函數彼此相互獨立,互不影響。本文介紹如何通過控制台建立和管理事件函數。
建立函數
登入Function Compute控制台,在左側導覽列,選擇。
在頂部功能表列,選擇地區,然後在函數列表頁面,單擊建立函數。
在彈出的對話方塊,根據提示和實際情境,選擇事件函數類型,然後單擊建立事件函數。
在建立事件函數頁面,設定以下配置項,然後單擊建立。
基礎配置:設定函數規格。
配置項
說明
樣本
函數名稱
唯一用於標識函數的符號,在同一帳號及地區下,函數名稱必須唯一且符合命名規範。
myFunction
規格方案
根據業務情況,設定函數的vCPU、記憶體及磁碟規格。設定規格後,實際調用函數產生的各資源使用量均按照規格乘以佔用時間長度計量,詳情請參見計費概述。
說明vCPU大小(單位為核)與記憶體大小(單位為GB)的比例必須設定在1∶1到1∶4之間。
磁碟中所有目錄可寫,共用磁碟的空間。
磁碟大小與底層執行函數的執行個體生命週期一致,執行個體被系統回收後,磁碟上的資料也會消失。如果需要對檔案進行持久化儲存,可以選擇掛載NAS或OSS。具體操作,請參見配置NAS檔案系統和配置OSSObject Storage Service。
vCPU:0.35 vCPU
記憶體:512 MB
磁碟:512 MB(不計費,Function Compute提供10GB的磁碟免費使用額度)
彈性配置:選擇彈性模式。
配置項
說明
樣本
最小執行個體數
如果您的業務對延遲敏感,建議設定最小執行個體數≥1,提前鎖定資源,降低冷啟動延遲。
說明設定最小執行個體數≥1後,如果未配置最小執行個體數彈性策略或某段時間內,無有效彈性策略,則當前最小執行個體數為此處設定的最小執行個體數。
如果配置了多條彈性策略,系統會計算每條策略觸發時的最小執行個體數,並取目前時間有效彈性策略中最小執行個體數的最大值作為當前最小執行個體數。
更多資訊,請參見如何計算當前最小執行個體數?。
開啟
函數代碼:配置函數的運行環境和代碼相關資訊。
配置項
說明
樣本
運行環境
推薦選擇內建運行時,並選擇熟悉的語言和版本,例如Python、Java、PHP或Node.js等,更多資訊請參見Function Compute運行時。
本文以選擇內建運行時為例進行介紹。
代碼上傳方式
選擇代碼上傳到Function Compute的方式。
使用範例程式碼:如果想先完成函數的建立,後續再完善代碼,可以選擇平台提供的Hello World範例程式碼,後續可以在函數詳情頁面的代碼頁簽線上編寫和調試代碼。
通過 ZIP 包上傳代碼:選擇函數代碼ZIP包並上傳。
通過 JAR 包上傳代碼:選擇函數代碼JAR包並上傳。
僅適用於Java運行環境。
通過檔案夾上傳代碼:選擇包含函數代碼的檔案夾並上傳。
通過 OSS 上傳代碼:選擇上傳函數代碼的Bucket 名稱和檔案名稱。
使用範例程式碼
請求處理常式
佈建要求處理常式,Function Compute的運行時會載入並調用您的請求處理常式處理請求。
代碼上傳方式選擇使用範例程式碼時,不需要修改請求處理常式。當選擇其他代碼上傳方式時,則需要根據實際情況修改請求處理常式,否則函數執行時會報錯。
index.handler
執行逾時時間
設定逾時時間。執行逾時時間預設為60秒,最長為86400秒。
60
許可權、網路、儲存:配置函數訪問角色、網路和儲存掛載等。
配置項
說明
樣本
函數角色
Function Compute平台會使用這個RAM角色來產生訪問的阿里雲資源的臨時密鑰,並傳遞給代碼。更多資訊,請參見使用函數角色授予Function Compute訪問其他雲端服務的許可權。
mytestrole
允許訪問 VPC
用於開啟允許函數訪問VPC內資源。更多資訊,請參見配置網路。
開啟
專用網路
允許訪問 VPC選擇是時必填。建立新的VPC或在下拉式清單中選擇要訪問的VPC ID。
fc.auto.create.vpc.1632317****
交換器
允許訪問 VPC選擇是時必填。建立新的交換器或在下拉式清單中選擇交換器ID。
fc.auto.create.vswitch.vpc-bp1p8248****
安全性群組
允許訪問 VPC選擇是時必填。建立新的安全性群組或在下拉式清單中選擇安全性群組。
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****
允許預設網卡訪問公網
是否允許函數通過預設網卡訪問公網。
重要使用固定公網IP地址功能時,必須關閉允許函數預設網卡訪問公網,否則配置的固定公網IP地址不生效。更多資訊,請參見配置固定公網IP地址。
開啟
掛載 NAS 檔案系統
為函數配置NAS檔案系統,用於持久化儲存函數間共用資料,例如多個推理函數共用的模型。
如果選擇自動設定,系統預設使用已有名稱為Alibaba-Fc-V3-Component-Generated的通用型NAS檔案系統,如果當前帳號下沒有合格NAS,系統會自動建立。
開啟
掛載 OSS Object Storage Service
為函數掛載OSSObject Storage Service,用於持久化儲存日誌、業務檔案等。具體操作,請參見配置OSSObject Storage Service。
開啟
日誌、鏈路追蹤
配置項
說明
樣本
日誌功能
用於設定將函數的執行日誌持久化儲存到Log Service,方便您進行代碼調試、故障分析和資料分析等。更多資訊,請參見配置日誌功能。
自動設定:自動選擇以
serverless-<region_id>開頭的記錄項目。該記錄項目每個地區僅建立一個,不會重複建立,如系統查詢到當前地區下已有此記錄項目,將直接使用。
自訂配置:需手動指定目標記錄項目和日誌庫。
開啟
更多配置
配置項
說明
樣本
時區
選擇函數的時區。此處設定函數的時區後,將自動為函數添加一條環境變數TZ,其值為設定的目標時區。
UTC
標籤
為函數設定標籤便於分組管理函數,需同時設定標籤鍵和標籤值。
key : value
資源群組
選擇函數所在配置資源群組,使用資源群組對函數進行分組管理。
預設資源群組
環境變數
通過環境變數,在不修改代碼的前提下靈活調整函數的行為,詳見配置環境變數。
{ "BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE" }
編輯函數
如果需要編輯函數代碼或匯入匯出函數,請參見以下步驟。如果需要修改更多的配置項,請參見配置函數。
在函數詳情頁,可以在代碼頁簽修改函數代碼,如果左邊的分支顯示有調整(圖示中①),需要先部署代碼讓修改的代碼生效,再單擊測試函數。

也可以將寫好的代碼匯出備份,也可以重新上傳代碼進行部署。


刪除函數
登入Function Compute控制台,在函數列表找到目標函數,單擊其右側操作列的刪除,然後在彈出的對話方塊,確認要刪除的函數已無任何觸發器、最小執行個體數彈性策略等綁定資源後,再次確認刪除。
擷取函數ARN
資源ARN(Aliyun Resource Name)用於在代碼中定位阿里雲資源。可以擷取函數的ARN,便於引用函數。
登入Function Compute控制台,在左側導覽列,選擇。
在頂部功能表列,選擇地區,然後在函數列表頁面,單擊目標函數。
在函數詳情頁面,單擊右側的複製 ARN擷取目標函數的ARN。

相關文檔
針對不同使用情境,Function Compute提供事件函數、Web函數、任務函數和GPU函數四種函數類型,關於如何針對使用情境選擇函數類型,請參見技術選型指南。
除控制台外,Function Compute還提供調用API和使用Serverless Devs工具方式來管理函數,具體請參見CreateFunction - 建立函數和Serverless Devs快速入門。
函數執行逾時,可以嘗試的操作見函數執行逾時,報錯Function time out after怎麼辦?。
使用頻率較低的函數調用時間會比較長,具體原因見為什麼使用頻率較低的函數調用時間比較長?。如果想消除彈性執行個體的冷啟動延時影響,可以設定最小執行個體數≥1。