如何在lambda上导入并正确运行pip导入的库?

时间:2018-01-11 11:52:15

标签: aws-lambda

我在python中为我的lambda函数导入了boto3。当我测试lambda时,它会给出这个错误:No module named boto3这是相当期待的。 然后我提到了文档,这个链接准确https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html并且意识到我需要创建一个部署包,问题是我不能很好地理解文档以便跟上并且希望它们再次被解释已经完成所需步骤的人以更简单的方式。

1 个答案:

答案 0 :(得分:3)

您需要在本地系统中创建一个文件夹,将所需的库安装到该文件夹​​中,压缩文件夹的内容并将压缩文件上传到AWS Lambda。

  • 在本地系统中创建文件夹

我认为你不需要帮助。让我们假设你在D盘中创建了一个名为yellow-bot的文件夹

  • 将所需的库安装到文件夹

您可以使用以下命令

在文件夹中安装所需的软件包
    pip install {package-name} -t "{path-to-project-dir}"

在你的情况下,它将是:

    pip install apiai -t "D:\yellow-bot"
  • 压缩文件夹的内容

现在安装完所需的库后,yellow-bot文件夹中会有多个文件和文件夹。您需要选择全部并压缩内容。 请注意,不要压缩文件夹,而是进入文件夹并压缩内容。
这将是截图下面的内容。 yellow-bot

  • 创建lambda函数并上传zip

现在转到AWS Lambda,创建一个lambda函数,给出正确的运行时间等等。然后select upload zip中的code entry type文件。选择您的拉链,然后点击上传 请务必提供正确的Handler 它遵循命名约定:

  

函数中的filename.handler-method值。例如,   " main.handler"将调用main.py中定义的处理程序方法。

enter image description here 因为在这种情况下我已经上传了connector.py文件,并且条目函数被称为lambda_handler()所以正确的Handler将是connector.lambda_handler

点击Save即可完成。

希望它有所帮助。