当AWS Lambda函数在Cognito PostConfirmation事件中没有触发,但在测试中可以正常工作时,有几个可能的解决方法。以下是一种常见的解决方法:
确认Lambda函数与Cognito用户池正确关联:
确保函数权限正确设置:
cognito-idp:AdminUpdateUserAttributes
权限,以便在PostConfirmation事件中修改用户属性。检查事件有效负载:
以下是一个示例Lambda函数代码,用于在Cognito PostConfirmation事件中触发,并打印事件的有效负载:
import json
def lambda_handler(event, context):
print(json.dumps(event, indent=4)) # 打印出事件的有效负载
# 在这里添加您的逻辑代码
return {
'statusCode': 200,
'body': json.dumps('Lambda function executed successfully')
}
通过在Lambda函数中添加以上代码,您可以查看事件的有效负载,以便确定是否从Cognito触发器正确发送了事件。
如果以上方法不起作用,您可以尝试以下进一步的排查方法:
希望这些方法可以帮助您解决AWS Lambda函数在Cognito PostConfirmation事件中不触发的问题。