首页 > 解决方案 > 在 AWS Cognito 用户池中删除用户时触发 Lambda 函数

问题描述

AWS Cognito 用户池有一些预定义的事件来处理用户注册、确认等。完整列表在这里

但是,删除用户没有明显的触发器。

那么,当从 Cognito 用户池中删除用户时(当然,使用用户名和/或电子邮件地址等参数),有什么方法可以触发 Lambda 函数?

标签: amazon-web-servicesaws-lambdaaws-cognito

解决方案


如果您使用“Amazon Cognito Sync”:

同步数据集时,Amazon Cognito 会引发 Sync Trigger 事件。当用户被更新或删除时,您可以使用同步触发器事件来执行操作。请查看以下官方文档以获取更多信息和步骤。

参考:https ://docs.aws.amazon.com/cognito/latest/developerguide/cognito-events.html

应用用户更新的记录将“op”字段设置为“replace”,删除的记录将“op”字段设置为“remove”。

根据上述参考文档中的操作字段可以帮助您识别操作,因此如果操作中的值被“删除”,那么您可以根据您的业务逻辑要求执行您的操作。

如果您没有使用“Amazon Cognito Sync”:

  1. 使用Post Confirmation Lambda Trigger在 DynamoDB 表“user”中创建用户记录。
  2. 根据 DynamoDB 表“用户”构建您自己的用户列表。
  3. 使用 lambda 函数和 aws api 网关构建您自己的用户删除 api。
  4. 您的 lambda 函数应该处理从 cognito 删除用户以及您想要执行的业务逻辑。

推荐阅读