在 AWS Lambda 中使用 Python SQLAlchemy 是个好主意吗?

fd.*_*nov 9 python sqlalchemy aws-lambda serverless-framework aws-lambda-layers

Amazon 建议不要在 lambda 函数中包含大型库/依赖项。据我所知,SQLAlchemy 是一个相当大的 Python 库。你认为在 lambda 函数中使用它是个好主意吗?一种选择是将其包含为 Lambda 层并在所有相关的 Lambda 函数中使用它。

无论如何,最好的做法是什么?

Nik*_*ntz -4

  • 您认为在 lambda 函数中使用 SQLAlchemy 是个好主意吗?

是的,但您可能需要首先考虑AWS Dynamodb或其他选项。如果您需要 SQL,那么您可以选择具有 SQL 兼容后端的RDS实例。在这种情况下,这完全取决于您的具体需求。这不是一般要求。

  • 无论如何,最好的做法是什么?

如果您只需要存储一些数据并将数据存储连接到 AWS Lambda,那么 DynamoDB 通常是一个不错的选择。如果您已经拥有关系数据库或者需要执行某些 SQL 查询(使用 SQL 比非关系模型更容易执行),那么 SQL 可能是首选。

  • 这并没有回答问题,他问的是是否在 lambda 中包含 ORM,而不是询问要使用什么数据库。 (4认同)
  • @fd.huseynov 是的,但请考虑您是否真的需要 SQLAlchemy 或者它是否会让事情变得更加困难。如果您选择 MySQL,那么您通常可以使用 pymysql 解决所有问题(https://pypi.org/project/PyMySQL/),并且添加 SQLAlchemy 会增加复杂性。但是,如果您有一个 Python 类库并且希望将其与对象关系模型一起使用,那么 SQLAlchemy 可能是一个不错的选择。这将取决于您的情况和项目要求。我有一个相当大的项目,基于连接到 AWS Lambda 的 SQL RDS,但我们没有使用 SQLAlchemy。这当然不是必须的。 (2认同)