我只是尝试使用Serverless和Lambda向我的Atlas集群发出GET和POST请求。我遵循了下面所有非常相似的教程:
https://hackernoon.com/building-a-serverless-rest-api-with-node-js-and-mongodb-2e0ed0638f47
https://dev.to/adnanrahic/a-crash-course-on-serverless-apis-with-express-and-mongodb-193k
https://dev.to/saigowthamr/build-and-deploy-a-rest-api--using-serverless-express-and-nodejs-3331
Https://blog.eduonix.com/web-programming-tutorials/serverless-development-nodejs-aws-lambda/?unapproved=84149&moderation-hash=9ac99ba21b72d6be12fbb14c1005a540#comment-84149
使用InSomnia或Postman,我可以向本地托管的数据库发出GET和POST请求,但不能向Atlas集群发出请求。这些请求总是导致502错误的网关,并显示JSON消息“内部服务器错误”。我尝试将集群主机从AWS切换到Azure,但没有帮助。关于各种驱动程序,我尝试了各种连接字符串。我已将所有IP列入白名单,因此访问权限不是问题。请帮帮忙。
1条答案
按热度按时间mkshixfv1#
我删除了Atlas帐户中的集群、项目、组织和用户,然后重新开始。我没有通过Network Access选项卡手动创建新用户,而是使用创建集群时得到的提示创建了一个用户。我注意到在建立连接时有一条关于特殊字符的说明:
我之前的密码使用了@符号,这可能导致了问题。因此,在使用电子邮件地址作为用户名时要小心。我像往常一样给用户分配了0.0.0.0/0。我认为这无关紧要,但我只有一个用户,我也给那个用户添加了评论。现在,我可以使用2.2.12或更高版本的Node.js驱动程序连接字符串建立连接。我希望这对某些人有帮助。