我正在使用AWS Cognito进行用户注册。注册确认后,我有一个lambda触发器,可将新用户添加到我的RDS实例中。
我的问题是以下
如何确保lambda成功将用户添加到数据库中。我担心的是,如果lambda失败,我希望该服务仍能正常工作。
现在,我要解决的一个办法是使用确认后的lambda将新用户添加到SQS。
然后有由SQS触发的lambda。这样,即使用户添加失败,我仍然有信息可以稍后添加/查看问题。
这是一个好的解决方案。任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
您不仅可以考虑将Cognito用作用户注册机制,还可以考虑使用Cognito user pools使用用户数据库本身。
另一方面,如果要确保如果lambda失败,则不会丢失用户数据,请使用户同步注册工作流,以避免认知事件触发。相反,您可以调用lambda函数作为前端使用的API后的后端。
对于此用例,您可以认为API gateway是一个不错的选择,最后,无服务器框架是用于此目的的最有价值的工具。
顺便说一句,您的SQS解决方案对于管理异步用户注册过程来说还不错。
以下链接可能非常有用:
希望这会有所帮助
答案 1 :(得分:0)
我不确定您的意思是“我担心的是,如果lambda失败,我希望该服务仍能正常工作。” 我假设通过代码,您可以处理lambda的执行过程中可能出现的任何错误,然后以自定义方式记录它,或者只是放手将其记录在cloudwatch中。 无论哪种情况,您都可以配置警报并在出现问题时接收电子邮件。 这是更加灵活和可配置的,但是似乎您不需要做太复杂的事情。