当用户注册向数据库输入条目时,我正在触发Lambda。确认后Lambda触发器可以正常触发,这没有问题。现在,在实施密码更改表单后,我看到了触发了相同的Lambda。
事实上,AWS声明应该-它是“ Post Confirmation”,因此,当用户确认重新键入电子邮件的电子邮件发送代码时,它将触发。我很好。
如何在Lambda中识别触发触发器的原因是什么?我只想更改密码就不想进行相同的数据库调用。
(我检查了传入的请求-那里的问题没有什么用)
答案 0 :(得分:1)
要区分 PostConfirmation 上的来源,必须在事件对象中使用"triggerSource": "string"
属性。
后确认的触发源可以是PostConfirmation_ConfirmForgotPassword
或PostConfirmation_ConfirmSignUp
。
事件对象的格式为:
{
"version": "string",
"triggerSource": "string",
"region": AWSRegion,
"userPoolId": "string",
"userName": "string",
"callerContext":
{
"awsSdkVersion": "string",
"clientId": "string"
},
"request":
{
"userAttributes": {
"string": "string",
....
}
},
"response": {}
}