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

use*_*040 0 aws-lambda

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

sid*_*491 5

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

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

我认为你不需要这方面的帮助。假设您在 D 盘创建了一个名为 Yellow-bot 的文件夹

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

您可以使用以下命令在文件夹中安装所需的软件包

    pip install {package-name} -t "{path-to-project-dir}"
Run Code Online (Sandbox Code Playgroud)

在您的情况下,它将是:

    pip install apiai -t "D:\yellow-bot"
Run Code Online (Sandbox Code Playgroud)
  • 压缩文件夹的内容

现在安装所需的库后,您的黄色机器人文件夹中将有多个文件和文件夹。您需要全选并压缩内容。请注意,不要压缩文件夹,而是进入文件夹并压缩内容。
这将类似于下面的屏幕截图。 黄色机器人

  • 创建 lambda 函数并上传 zip

现在转到 AWS Lambda,创建一个 lambda 函数,提供正确的运行时间等等。然后select upload zipcode entry type. 选择您的 zip,然后单击上传。
确保给出正确的Handler.
它遵循命名约定:

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

在此处输入图片说明 因为在这种情况下我上传了connector.py文件并且调用了入口函数,lambda_handler()所以正确的Handlerconnector.lambda_handler

点击Save,你就完成了。

希望能帮助到你。