构建层的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 .