如何解决尽管配置了事件规则,但 Cognito ChangePassword 和 ConfirmForgotPassword API 调用不会触发 lambda
我已使用以下事件模式配置了 AWS 事件规则:
{
"source": [
"aws.cognito-idp"
],"detail": {
"eventName": [
"AdminSetUserPassword","ChangePassword","ConfirmForgotPassword"
]
}
我也试过:
{
"source": [
"aws.cognito-idp"
],"detail": {
"eventName": [
"ChangePassword"
]
}
该事件应为所有三个 cognito-idp API 调用触发 lambda。虽然它确实触发了 AdminSetUserPassword 的事件并调用了 lambda - 但它不会为其他两个 API 调用这样做。
我可以看到在 Cloudtrail 中进行了 API 调用,但在 cloudwatch/lambda 指标中没有调用,因此出于某种原因,未为 ChangePassword 或 ConfirmForgotPassword 调用 lambda。
云形成看起来像这样:
UpdateUserPasswordLastUpdatedLambdaEventTrigger:
Type: AWS::Events::Rule
Properties:
Description: >-
Rule triggering lambda invocation after cognito user password is changed
by user
EventPattern:
source:
- aws.cognito-idp
detail:
eventName:
- ChangePassword
- ConfirmForgotPassword
State: ENABLED
Targets:
-
Arn: !GetAtt UpdateUserPasswordLastUpdatedLambdaFunction.Arn
Id: "UpdateUserPasswordLastUpdatedLambdaFunction"
PermissionForEventsToInvokeLambda:
Type: AWS::Lambda::Permission
Properties:
FunctionName: !GetAtt UpdateUserPasswordLastUpdatedLambdaFunction.Arn
Action: "lambda:InvokeFunction"
Principal: "events.amazonaws.com"
SourceArn: !GetAtt
UpdateUserPasswordLastUpdatedLambdaEventTrigger.Arn
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。