創建自定義層
更新時間 2025-07-09 09:55:33
最近更新時間: 2025-07-09 09:55:33
分享文章
層為您提供了發布和部署自定義內容的能力,包括公共依賴庫、運行時環境和函數擴展等。為了減少在部署或更新函數時的代碼包體積,您可以將函數依賴的公共庫提取到層中,或者使用函數計算官方的公共層。本文將介紹層的功能原理、各運行時中使用層的說明,以及如何構建層的ZIP包和創建、刪除自定義層。
功能原理
- 在構建層時,需將所有內容打包成ZIP文件。函數計算的運行時會將層的內容解壓并部署到/opt目錄下。
- 當函數配置了多個層時,這些層的內容會按照層配置的逆序合并到/opt目錄。如果某個文件與其他層中的文件同名,先配置的層中的該文件會覆蓋后配置層中的同名文件。
說明為某函數配置了第1層和第2層,函數實例啟動時,會先加載第1層,再加載第2層,并將它們解壓到/opt目錄。在/opt目錄中,第2層的內容在前,第1層的內容在后。如果第1層和第2層中存在同名文件,那么第2層中的文件會覆蓋第1層中的文件。
- 如果層中的代碼依賴二進制庫或可執行文件,需要使用Linux系統進行編譯構建層,推薦使用Debian 10。
- 函數計算的運行時基于x86_64架構,如果層中的依賴庫對指令集有依賴,需使用x86_64架構的機器,或通過交叉編譯方式確保依賴庫與函數計算的運行時兼容。
創建自定義層
創建層時,需要將所有內容打包到ZIP文件中。函數計算運行時會將層的內容解壓并部署在函數的/opt目錄下。
前提條件
已完成函數的創建,具體操作請參見函數創建。
操作步驟
- 登錄函數計算控制臺,在左側導航欄,選擇高級功能 > 層管理。
- 在頂部菜單欄,選擇地域,然后在層管理頁面,單擊創建層。
- 在創建層頁面,設置相關參數,然后單擊創建。
| 參數 | 描述 |
|---|---|
| 名稱 | 設置層的名稱,支持自定義。 |
| 描述 | 設置層的描述信息,便于區分各層。 |
| 兼容運行時 | 選擇與該層兼容的運行時環境。 |
| 層上傳方式 | 層依賴的上傳方式提供以下四種標準化方案: · 通過 ZIP 包上傳層? ? 選擇或直接上傳已構建的層的ZIP文件。上傳的ZIP文件默認不能超過 500 MB。 · 通過文件夾上傳層 ? 選擇或直接上傳包含待構建層的依賴文件的文件夾。上傳的文件夾壓縮為zip包后,大小默認不能超過500MB。 · 通過ZOS上傳層 ? 若已構建的層的zip包已經上傳到您的對象存儲系統(ZOS),可以選擇上傳待構建層zip包所在的ZOS Bucket名稱及文件名稱。選擇的ZOS中的文件默認不能超過500MB。 · 在線構建依賴層 ? 若您的函數應用是基于Python或Node.js語言開發的或者您需要安裝部分輕量級系統依賴庫,可以選擇在線構建依賴層,并在下方輸入框內,輸入構建層的依賴文件requirements.txt或package.json的內容。提交創建層后,系統將會自動安裝這些語言級別的依賴包和系統庫,簡化層依賴的管理過程。 |
| 構建環境 | 當您選擇在線構建依賴層時,需要設置此參數選擇構建依賴層所使用的運行環境。 需要注意的是,目前僅Python和Node.js運行時支持在線構建依賴層。 |
層創建后將自動生成層的版本,版本號從1開始遞增。
- 創建新版本。
說明已創建的層或相關層版本暫不支持修改,如果您需要修改層的相關配置,可以創建新的層或創建新版本。需要注意的是,如果引用的層版本已刪除,在更新層配置時,必須先刪除該引用。
- 在層管理頁面,單擊目標層名稱。
- 在版本管理區域,單擊創建版本。
- 在創建新的版本頁面,選擇運行環境并上傳新的層代碼,然后單擊創建。
刪除層與層版本
您可以根據需要刪除不必要的層或層版本。雖然已刪除的層無法再查看或被新的函數配置引用,但已配置引用該層的函數執行將不受影響。
-
登錄函數計算控制臺。
-
在頂部菜單欄中,選擇您的地域。
-
在左側導航欄,依次選擇高級功能 > 層管理。
-
在層管理頁面,按照需要選擇刪除層或層版本。
- 刪除層:在目標層的操作列中,點擊刪除。在彈出的對話框中,勾選確認刪除層復選框,然后點擊刪除。
- 刪除層版本:點擊目標層的名稱,進入層詳情頁面。在版本管理區域,找到目標層版本,在其操作列中點擊刪除。在彈出的確認對話框中,點擊刪除。