本文介紹如何在函數中配置自定義層。
通過控制臺配置
前提條件
操作步驟
為函數配置層時,如果層有多個版本,將按照具體的層版本與函數進行綁定。
登錄函數計算控制臺,在左側導航欄,單擊函數。
在頂部菜單欄,選擇地域,然后在函數頁面,單擊目標函數。
在函數詳情頁面,選擇配置頁簽,在左側導航欄,選擇層,單擊編輯,然后在編輯函數層面板選擇
,選擇自定義層和層版本,最后單擊部署。一個函數最多支持配置5個層,包括自定義層和官方公共層。
當函數配置多個層時,這些層的內容將被合并至/opt目錄,多個層按照層配置的逆序合并。如果多個層中有同名文件,先配置的層會覆蓋后配置的層中的同名文件。
通過Serverless Devs配置
前提條件
操作步驟
執行以下命令查找指定地域下的自定義層。
s cli fc layer list --custom --region cn-hangzhou
執行成功后,返回自定義層列表,如下所示。從中獲取目標層的
arn
并記錄。- layerName: java11_fc_auto_created arn: acs:fc:cn-hangzhou:1034354682****:layers/numpy/versions/1 version: 1 acl: 0 description: compatibleRuntime: - custom
示例解析如下:
layerName:層名稱。
version:層版本。
arn:層的ARN。
acl:層的權限。取值0代表私有,取值1代表公有。官方公共層默認為公有,自定義層可以設置為私有或者公有。
description:層的描述信息。
compatibleRuntime:兼容的運行時列表。
在目標目錄下創建s.yaml文件,填寫獲取的層
arn
信息。示例如下:
edition: 3.0.0 name: hello-world-app access: "default" vars: # 全局變量 region: "cn-hangzhou" resources: hello_world: component: fc3 # 組件名稱 # actions: # 自定義執行邏輯,關于actions 的使用,可以參考:https://docs.serverless-devs.com/serverless-devs/yaml#%E8%A1%8C%E4%B8%BA%E6%8F%8F%E8%BF%B0actions props: region: ${vars.region} # 關于變量的使用方法,可以參考:https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC functionName: "emoji" description: 'this is a layer demo' runtime: "python3.9" code: ./code handler: index.handler memorySize: 512 timeout: 60 internetAccess: true layers: # 函數綁定層,取值是層的ARN - acs:fc:cn-hangzhou:1034354682****:layers/numpy/versions/1
在目標目錄下創建
code
層級,然后在code
下準備函數代碼。在目標目錄下執行以下命令部署函數并為其配置層。
s deploy
更多信息
您還可以通過API或SDK來管理層和配置層。您可以在以下API中配置層:
您可以通過OpenAPI Explorer調用API和SDK。
文檔內容是否對您有幫助?