如果您想通過特定的事件觸發函數,如OSS觸發器、RocketMQ觸發器等訊息類觸發器,您可以選擇建立事件函數。您需要按照Function Compute定義的介面編寫函數和程式。Function Compute的資源調度與運行以函數為單位。不同函數彼此相互獨立,互不影響。本文介紹如何通過控制台建立和管理事件函數。
建立函數
登入Function Compute控制台,在左側導覽列,單擊函數。
在頂部功能表列,選擇地區,然後在函數頁面,單擊建立函數。
在建立函數頁面,選擇事件函數,設定以下配置項,然後單擊建立。
基本設定:設定函數名稱。
函數代碼:配置函數的運行環境和代碼相關資訊。
配置項
說明
樣本
運行環境
推薦您選擇內建運行時,並選擇熟悉的語言和版本,例如Python、Java、PHP或Node.js等,更多請參見內建運行時。
本文以選擇內建運行時為例進行介紹。
Node.js 16
代碼上傳方式
選擇代碼上傳到Function Compute的方式。
使用範例程式碼:預設,您可以根據業務需要選擇Function Compute為您提供的建立函數的範例程式碼。
通過 ZIP 包上傳代碼:選擇函數代碼ZIP包並上傳。
通過檔案夾上傳代碼:選擇包含函數代碼的檔案夾並上傳。
通過 OSS 上傳代碼:選擇上傳函數代碼的Bucket 名稱和檔案名稱。
使用範例程式碼
進階配置:配置函數的執行個體相關資訊和函數執行逾時時間等。
配置項
說明
樣本
規格方案
根據您的業務情況,選擇或手動輸入合理的vCPU規格和記憶體規格組合。關於各資源使用的計費詳情,請參見計費概述。
說明vCPU大小(單位為核)與記憶體大小(單位為GB)的比例必須設定在1∶1到1∶4之間。
0.35核,512 MB
臨時硬碟大小
根據您的業務情況,選擇臨時隱藏檔的硬碟大小。
取值說明如下。
512 MB:預設值。不計費,Function Compute為您提供512 MB以內的硬碟免費使用額度。
10 GB:按9.5 GB進行計費。
說明臨時硬碟中所有目錄可寫,共用臨時硬碟的空間。
臨時硬碟大小與底層執行函數的執行個體生命週期一致,執行個體被系統回收後,硬碟上的資料也會消失。如您需要對檔案進行持久化儲存,可以選擇掛載NAS或OSS。具體操作,請參見配置NAS檔案系統和配置OSSObject Storage Service。
512 MB
執行逾時時間
設定逾時時間。執行逾時時間預設為60秒,最長為86400秒。
60
請求處理常式
佈建要求處理常式,Function Compute的運行時會載入並調用您的請求處理常式處理請求。
說明代碼上傳方式選擇使用範例程式碼時,不需要修改請求處理常式。當選擇其他代碼上傳方式時,則需要根據實際情況修改請求處理常式,否則函數執行時會報錯。
index.handler
時區
選擇函數的時區。此處設定函數的時區後,將自動為函數添加一條環境變數TZ,其值為您設定的目標時區。
UTC
函數角色
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****
允許函數預設網卡訪問公網
是否允許函數可以通過預設網卡訪問公網。關閉後,當前函數將無法通過Function Compute的預設網卡訪問公網。
重要使用固定公網IP地址功能時,您必須關閉允許函數預設網卡訪問公網,否則配置的固定公網IP地址不生效。更多資訊,請參見配置固定公網IP地址。
是
日誌功能
是否啟用阿里雲Log Service。取值說明如下:
啟用:函數的執行日誌被持久化儲存到Log Service,方便您進行代碼調試、故障分析和資料分析等。
禁用:函數的執行日誌將無法通過Log Service儲存和查詢。
啟用
環境變數:設定函數運行環境中的環境變數。更多資訊,請參見配置環境變數。
在函數詳情頁面,選擇代碼頁簽,單擊測試函數。
執行成功後,查看返回結果,本樣本返回結果為hello world。
編輯函數
如果需要編輯函數代碼或匯入匯出函數,請參見以下步驟。如果需要修改更多的配置項,請參見配置函數。
在函數詳情頁,您可以在代碼頁簽修改函數代碼,如果左邊的分支顯示有調整(圖示中①),您需要先部署代碼讓修改的代碼生效,再單擊測試函數。
您也可以將寫好的代碼匯出備份,也可以重新上傳代碼進行部署。
刪除函數
登入Function Compute控制台,單擊函數,選擇地區,在目標函數的操作列,選擇 ,然後在彈出的對話方塊,確認要刪除的函數已無任何觸發器、預留執行個體等綁定資源後,再次確認刪除。
擷取函數ARN
資源ARN(Aliyun Resource Name)用於在代碼中定位阿里雲資源。您可以擷取函數的ARN,便於引用函數。
登入Function Compute控制台,在左側導覽列,單擊函數。
在頂部功能表列,選擇地區,然後在函數頁面,單擊目標函數。
在函數詳情頁面,選擇配置頁簽,在基礎配置地區,查看並複製函數的ARN。
相關文檔
針對不同使用情境,Function Compute提供事件函數、Web函數、任務函數和GPU函數四種函數類型,關於如何針對使用情境選擇函數類型,請參見函數類型選型。
除控制台外,Function Compute還提供API的方式來管理函數,具體請查看函數。
函數執行逾時,您可以嘗試的操作見函數執行逾時,報錯Function time out after怎麼辦?。
使用頻率較低的函數調用時間會比較長,具體原因見為什麼使用頻率較低的函數調用時間比較長?。如果想消除冷啟動延時的影響,可以使用預留模式的執行個體,具體可參考如何讓執行個體一直存活不銷毀,消除冷啟動延時的影響?。