亚马逊建议不要在 Lambda 函数中包含大型库/依赖项。据我所知,SQLAlchemy 是一个相当大的 Python 库。您认为在 Lambda 函数中使用它是否是个好主意?一种选择是将其作为 Lambda 层包含,并在所有相关的 Lambda 函数中使用它。
无论如何,什么是最佳实践?
无论如何,什么是最佳实践?
无服务器函数旨在成为小型自包含函数。SQLAlchemy是一个ORM,它允许您像Python对象一样操作数据库对象。如果您只是编写几个执行平均CRUD操作的无服务器函数,则最好通过组合字符串并直接通过数据库驱动程序执行SQL(即使您使用SQLAlchemy,也必须安装该驱动程序)。如果您正在构建自己的AWS Lambda框架,则可以考虑使用SQLAlchemy。
是的,但你可能需要先考虑AWS Dynamodb或其他选项。如果SQL是你的要求,那么你可以选择一个带有SQL兼容后端的RDS实例。这完全取决于你在这种情况下的具体需求。这不是一个普遍的要求。
如果你只需要存储一些数据并将数据存储连接到AWS Lambda,则DynamoDB通常是一个不错的选择。如果你已经有一个关系型数据库或者需要执行某些比非关系模型更容易使用SQL的SQL查询,则可以优先选择SQL。