如何在 AWS lambda 上安装 pymysql

How to install pymysql on AWS lambda

我查看了 here and here,因为我一直在尝试找出如何在 AWS lambda 上获得 pymysql 运行。到目前为止,我看过的示例非常复杂,并且在我开始 运行 权限错误之前,通过 GitHub 教程,我得到了 IAM,我不知道如何解决。

从字面上看,我只想在预构建的 AWS lambda 控制台模板中调用 import pymysql

这似乎是一个简单的问题,但我很难找到一个清晰的、循序渐进的工作来解决如何让新的依赖项为我的 lambda 函数工作。理想情况下,该示例将 而不是 通过 AWS CLI,因为显然有一个控制台选项,这似乎会消除一些令人头疼的过程。

干杯,

亚伦

我在使用 Redis python 库时遇到了类似的问题。 我遵循您在第二个 link.

中提到的相同文档说明

这是供您参考的示例片段:

创建新目录MyPythonLambda并将MyPythonLambda.py放入其中。

假设 MyPythonLambda/MyPythonLambda.py 是包含处理程序的主要 lambda。

 cd MyPythonLambda/
 pip install redis -t .
 zip -r MyPythonLambda.zip *

Upload/import 从 S3 或您的本地文件系统创建 lambda zip。

我认为您需要以类似的方式创建包含 python mysql 库的 zip 文件。

TheYoungSoul has a fantastic YouTube example 如何逐步执行此操作。一旦我按照这些说明进行操作,这就很容易做到了。

步数:

  1. 编写我想在 lambda 上实现的例程的本地可测试版本并调用此函数 main.pymain.py里面有函数lambda_handler,它的基本结构是def lambda_handler(event, context): ...

  2. 使用脚本 create_deployment.py,在他的 repo 上可用,结合 requirements.txt 创建部署 zip 文件。请注意,如果您在 Mac 上,并且在第一次尝试 may need to do this 时出现此错误。

  3. 一旦你有一个本地可测试的例子 运行,在 AWS 上创建你的 lambda 函数,而不是从头开始编写函数 select 控制台菜单选项上传 .zip 文件

  4. 确保创建一个可以访问 RDS 资源的自定义角色,并确保将要连接的数据库放在同一个 VPC 组中。设置函数时,指定您希望 lambda 函数具有 VPC 访问权限。