1 回答
TA贡献1851条经验 获得超3个赞
我使用 python 3.8 在我的 lambda 上构建pysftp层并对其进行了测试。只是为了查看导入和基本打印:
import json
import pysftp
def lambda_handler(event, context):
# TODO implement
print(dir(pysftp))
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
我使用以下 docker 工具来构建pysftp图层:
https://github.com/lambci/docker-lambda
所以我所做的pysftp是:
# create pysftp fresh python 3.8 environment
python -m venv pysftp
# activate it
source pysftp/bin/activate
cd pysftp
# install pysftp in the environemnt
pip3 install pysftp
# generate requirements.txt
pip freeze > requirements.txt
# use docker to construct the layer
docker run --rm -v `pwd`:/var/task:z lambci/lambda:build-python3.8 python3.8 -m pip --isolated install -t ./mylayer -r requirements.txt
zip -r pysftp-layer.zip .
其余的是将 zip 上传到 s3,在 AWS 控制台中创建新层,设置Compatible runtime为 python 3.8 并在我的测试 lambda 函数中使用它。
您还可以在此处查看如何使用此 docker 工具(我使用的 docker 命令基于该链接中的内容)。
希望这可以帮助
添加回答
举报