为 AWS Python Lambda 函数添加层,支持使用 pandas 库

参考:

  1. 创建和共享 Lambda 层
  2. How to use pandas in AWS Lambda

步骤1~4需要在 AWS 的 EC2 实例上进行,以便使用相同的依赖环境,这里使用 AWS 的 Sagemaker 进行。

步骤1:

找到需要添加层的 Lambda 函数的 Python 版本,在 AWS EC2 环境创建层时需要使用相同的版本,创建 AWS Lambda 函数时能看到,可选用的 Python Lambda 函数版本为 3.9,EC2 环境使用 Python 3.9.13 版本。

conda create -n aws_lambda_env python==3.9.13conda activate aws_lambda_env

在 Sagemaker 环境下,激活 conda 虚拟环境需要使用:

source activate aws_lambda_env

步骤2:

创建一个文件夹

mkdir python

步骤3:

安装需要添加的库到这个环境中

pip install openpyxl pandas -t python

步骤4:

打包目录

zip -r pandas.zip python

步骤5:

在 AWS 控制台创建层,然后上传打包好的层 pandas.zip

在 AWS 控制台上传打包好的层

步骤6:

创建一个新的 Lambda 函数,选择可以添加层的运行时环境,这里选择的是 Python 3.9

创建 Lambda 函数

步骤7:

为创建的 Lambda 函数添加层:

添加一个 Layer

选择刚刚创建的层

选择刚刚创建的层

最后写一段代码测试一下,是否能 import 成功新添加层的库。

import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)

def lambda_handler(event, context):
     logger.info(pd.__version__)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注