【问题标题】:How to prepare an Deployment Package properly for AWS lambda如何为 AWS lambda 正确准备部署包
【发布时间】:2020-02-02 07:53:31
【问题描述】:

我正在用 scrapy 做一个关于 python 的小项目。要将其上传到 AWS lambda 上,我只是创建了一个文件夹,从我的 pc 的站点包中复制了所有必需的库,并将其部署到 lambda 上,这给出了一个错误 UNABLE TO IMPORT ETREE,我用谷歌搜索并找到了这个解决方案Unable to import lxml etree on aws lambda。我没有使用过 docker everr,我只想知道在我的电脑上运行了 amazon linux 的 docker 镜像之后,我如何在其中安装所有库,然后将这些库导出到我的电脑上,所以我可以上传。

【问题讨论】:

    标签: python amazon-web-services docker aws-lambda scrapy


    【解决方案1】:

    您可以安装docker 并像这样运行一个简单的bash 脚本来创建图层

    如果你想创建一个层(并链接到 lambda):

    cd mylayer
    docker run --rm -it -v ${PWD}:/var/task lambci/lambda:build-python3.6 pip install -r requirements.txt --no-deps -t python/lib/python3.6/site-packages/
    zip -r ../my-layer.zip python
    rm -rf python
    cd -
    

    如果你想创建一个 lambda 包:

    cd mylambda
    docker run --rm -it -v ${PWD}:/var/task lambci/lambda:build-python3.6 pip install -r requirements.txt --no-deps -t python/lib/python3.6/site-packages/
    zip -r ../my-lambda-package.zip python lambda_function.py
    rm -rf python
    cd -
    

    【讨论】:

    • 我想知道,当我运行一个 amazonlinux 映像时,然后创建一个虚拟环境,然后我在那里 pip 安装所有内容,然后当我将目录复制到我的电脑并在线部署时,它仍然给出相同的错误。
    • @Kartiksharma 你是什么意思?你试过我建议的脚本了吗?
    猜你喜欢
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2016-03-05
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多