如果您想基于各個語言的流行框架如Flask、Express或SpringBoot等編寫程序,或者遷移已有的框架應用至函數計算,您可以選擇創建Web函數。函數計算的資源調度與運行以函數為單位。不同函數彼此相互獨立,互不影響。本文介紹如何通過控制臺創建和管理Web函數。
創建函數
登錄函數計算控制臺,在左側導航欄,單擊函數。
在頂部菜單欄,選擇地域,然后在函數頁面,單擊創建函數。
在創建函數頁面,選擇Web 函數,配置以下配置項,然后單擊創建。
基本設置:設置函數名稱。
函數代碼:配置函數的運行環境和代碼相關信息。
配置項
說明
示例
運行環境
推薦您選擇自定義運行時,并選擇熟悉的語言或框架,詳情請參見代碼開發概述。
本文以選擇自定義運行時為例進行介紹。
Node.js 16
代碼上傳方式
選擇代碼上傳到函數計算的方式。
使用示例代碼:默認方式,您可以根據業務需要選擇函數計算為您提供的創建函數的示例代碼。
通過 ZIP 包上傳代碼:選擇函數代碼ZIP包并上傳。
通過文件夾上傳代碼:選擇包含函數代碼的文件夾并上傳。
通過 OSS 上傳代碼:選擇上傳函數代碼的Bucket 名稱和文件名稱。
使用示例代碼
啟動命令
程序的啟動命令。如果不配置啟動命令,您需要在代碼的根目錄手動創建一個名稱為bootstrap的啟動腳本,您的程序通過此腳本來啟動。
npm run start
監聽端口
您的代碼中的HTTP Server所監聽的端口。
9000
高級配置:配置函數的實例相關信息和函數執行超時時間等。
配置項
說明
示例
規格方案
根據您的業務情況,選擇或手動輸入合理的vCPU規格和內存規格組合。關于各資源使用的計費詳情,請參見計費概述。
說明vCPU大小(單位為核)與內存大小(單位為GB)的比例必須設置在1∶1到1∶4之間。
0.35核,512 MB
臨時硬盤大小
根據您的業務情況,選擇臨時存儲文件的硬盤大小。
取值說明如下。
512 MB:默認值。不計費,函數計算為您提供512 MB以內的硬盤免費使用額度。
10 GB:按9.5 GB進行計費。
說明臨時硬盤中所有目錄可寫,共享臨時硬盤的空間。
臨時硬盤大小與底層執行函數的實例生命周期一致,實例被系統回收后,硬盤上的數據也會消失。如您需要對文件進行持久化保存,可以選擇掛載NAS或OSS。具體操作,請參見配置NAS文件系統和配置OSS對象存儲。
512 MB
執行超時時間
設置超時時間。執行超時時間默認為60秒,最長為86400秒。
60
單實例并發度
函數計算支持一個實例同時并發執行多個請求,這個值用來配置單個函數實例可以同時處理多少個請求。具體操作,請參見配置單實例并發度。
20
時區
選擇函數的時區。在此處設置函數的時區后,將自動為函數添加一條環境變量TZ,其值為您設置的目標時區。
UTC
函數角色
函數計算平臺會使用這個RAM角色來生成訪問您的阿里云資源的臨時密鑰,并傳遞給您的代碼。更多信息,請參見授予函數計算訪問其他云服務的權限。
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地址。
是
日志功能
是否啟用阿里云日志服務。取值說明如下:
啟用:函數的執行日志被持久化保存到日志服務,方便您進行代碼調試、故障分析和數據分析等。
禁用:函數的執行日志將無法通過日志服務存儲和查詢。
啟用
環境變量:設置函數運行環境中的環境變量。更多信息,請參見配置環境變量。
編輯函數
如果需要編輯函數代碼或導入導出函數,請參見以下步驟。如果需要修改更多的配置項,請參見配置函數。
在函數詳情頁,您可以在代碼頁簽修改函數代碼,如果左邊的分支顯示有調整(圖示中①),您需要先部署代碼讓修改的代碼生效,再單擊測試函數。
您也可以將寫好的代碼導出備份,也可以重新上傳代碼進行部署。
刪除函數
登錄函數計算控制臺,單擊函數,選擇地域,在目標函數的操作列,選擇 ,然后在彈出的對話框,確認要刪除的函數已無任何觸發器、預留實例等綁定資源后,再次確認刪除。
相關文檔
針對不同使用場景,函數計算提供事件函數、Web函數、任務函數和GPU函數四種函數類型,關于如何針對使用場景選擇函數類型,請參見函數類型選型。
除控制臺外,函數計算還提供API的方式來管理函數,具體請查看函數。
函數執行超時,您可以嘗試的操作見函數執行超時,報錯Function time out after怎么辦?。
使用頻率較低的函數調用時間會比較長,具體原因見為什么使用頻率較低的函數調用時間比較長?。如果想消除冷啟動延時的影響,可以使用預留模式的實例,具體可參考如何讓實例一直存活不銷毀,消除冷啟動延時的影響?。
如果您想獲取函數的ARN在代碼中定位阿里云資源,可參見獲取函數ARN。