Cognito用户迁移触发器-用户迁移期间发生异常-异常位置

时间:2018-11-13 21:49:02

标签: amazon-web-services aws-lambda amazon-cognito

我们正在使用lambda函数来响应AWS Cognito中的“用户迁移”触发器。当发生语法错误之类的错误时,您可以在云监视日志中看到它。但是,在登录页面上看到的“用户迁移期间异常”错误在云监视日志中找不到。

我们应该在哪里寻找这些?我在文档中找不到任何内容,并假设它已经被云监视了。

我无法在lambda接口中对其进行测试,因为传递给lambda函数的参数之一将在对象内嵌套一个函数,并且我无法创建具有该功能的测试JSON设置。内置的用户迁移测试触发器也没有。

任何关于为什么我在云监视中看不到它或在哪里显示异常的想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

不幸的是,Cogntio没有公开任何日志(或度量指标!)。

您可以获得的最接近的结果是在CloudWatch中查看lambda的日志。如果您记录响应并观察lambda的错误指标,那么您应该基本上可以调试lambda内部的问题。

这确实有一些极端情况:

  • 如果无法调用lambda,您将看不到任何东西(这只会在单个lambda或您帐户中所有lambda的高并发负载下发生)
  • 如果您返回错误的响应,则lambda将成功,但触发操作将失败,并且Cognito将为您提供相当通用的消息。此时,您只能依靠AWS文档来找出问题所在(虽然StackOverflow总是有帮助的,但可能会造成一些麻烦和误解。)

您可以在trigger documentation中找到lambda的有效负载示例:

{
    "userName": "THE USERNAME",
    "request": {
        "password": "THE PASSWORD"
    },
    "response": {
        // it is your responsibility to fill this bit in and return the completed object back:
        "userAttributes": {
            "string": "string",
            ...
        },
        "finalUserStatus": "string",
        "messageAction": "string",
        "desiredDeliveryMediums": [ "string", ... ],
        "forceAliasCreation": boolean
    }
}

n.b。顺便说一句,您可能知道,但是Lambda有效负载始终必须使用JSON,而JSON不存储函数。因此,您应该始终能够导出要在控制台中使用的测试有效负载。