自定義層使用示例
更新時間 2024-12-09 19:50:52
最近更新時間: 2024-12-09 19:50:52
分享文章
構建層的ZIP包
創建層時,需要將所有內容打包成ZIP文件。層的內容會被函數計算運行時解壓到/opt目錄下。
構建層的ZIP包的方式與構建代碼包的方式相似。為了讓函數在運行時正確加載并使用層發布的庫,庫的代碼目錄結構需符合各語言的標準目錄規范。具體信息可以參考各運行時的使用層說明。如果依賴庫按規范打包,函數計算運行時會自動為您添加各語言的依賴庫搜索路徑,無需手動指定完整路徑。若希望自定義層的目錄結構,則需要在代碼中顯式指定依賴庫的搜索地址。
以python為例,構建層ZIP包的具體步驟示例如下:
說明
在本地構建層時,使用的編程語言版本需要和在函數計算選擇的運行時的編程語言版本保持一致。
下面創建的工作目錄example-layer-code僅為示例,您在實際操作過程中可以按需替換目錄名稱。
- 執行以下命令創建工作目錄。
mkdir example-layer-code
- 進入已創建的工作目錄。
cd example-layer-code
- 執行以下命令安裝依賴庫到 example-layer-code/python。
pip3 install --target ./ ${PackageName}
${PackageName}是您要安裝的依賴包的名稱,例如boto3。
代碼示例如下:
pip3 install --target ./ boto3
安裝完成后,目錄結構如下:
example-layer-code/
├── bin
├── boto3
├── boto3-1.35.66.dist-info
├── botocore
├── botocore-1.35.66.dist-info
├── dateutil
├── jmespath
├── jmespath-1.0.1.dist-info
├── __pycache__
├── python_dateutil-2.9.0.post0.dist-info
├── s3transfer
├── s3transfer-0.10.4.dist-info
├── six-1.16.0.dist-info
├── six.py
├── urllib3
└── urllib3-1.26.20.dist-info
在example-layer-code目錄,執行以下命令打包依賴。
zip -r my-layer-code.zip .