繁体   English   中英

Aws lambda 函数连接到 mongodb

[英]Aws lambda function connect to mongodb

我有一个简单的 lambda 函数,它连接到数据库并查找用户。

import pymongo

def my_handler(event, context):
    client = pymongo.MongoClient('uri') #My db connection here. 
    db = client.dbName
    col = db.users
    col.find_one({'email':'example@gmail.com'})
    foundedUser = col.find_one({'hello':'Amazon DocumentDB'})
    print(foundedUser)
    client.close()

我遇到了一个奇怪的问题,有时 lambda 会连接并找到像这样的用户 100 毫秒或更短时间。 但有时会在 30 秒后出现超时错误。 我有所有的 vpc 配置等等。 我已经尝试使用 node.js 来实现它,现在尝试使用 python 结果是一样的。 有什么建议 ?

所以我遇到了同样的问题。 检查这些。

https://blog.cloudboost.io/i-wish-i-knew-how-to-use-mongodb-connection-in-aws-lambda-f91cd2694ae5

https://www.mongodb.com/blog/post/optimizing-aws-lambda-performance-with-mongodb-atlas-and-nodejs

和这个

https://hackernoon.com/building-a-serverless-rest-api-with-node-js-and-mongodb-2e0ed0638f47

显然,AWS Lambda 是“无状态的”,按照我的理解,一旦在冷启动时调用该函数,它就会运行您的代码并连接到您的数据库。 之后,您在特定时间(例如 5 分钟)内对 Lambda 函数进行的任何调用都将使用相同的连接。 之后,如果连接关闭并再次调用函数,Lamda 不会重新建立与数据库的连接。

这些教程应该有助于设置它,以便它检查每个函数调用的连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM