我尝试用 JavaScript 编写一个
customEmailSender
函数,似乎该事件包含一个 code
参数,该参数包含验证码或临时密码,具体取决于 triggerSource
。 customSmsSender
函数还包含一个 code
参数。但是,我决定使用 Java 来创建我的函数,并且我使用的是 aws-lambda-java-events
的 3.11.0 (docs) 版本。目前,我唯一的选择(据我所知)是使用
CognitoUserPoolCustomMessageEvent
作为我的事件类型。
@Slf4j
@RequiredArgsConstructor
public class CustomEmailSenderHandler implements RequestHandler<CognitoUserPoolCustomMessageEvent, Void> {
@Override
public Void handleRequest(final CognitoUserPoolCustomMessageEvent cognitoEvent, final Context context) {
log.info("Received CognitoUserPoolEvent {}", cognitoEvent);
return null;
}
}
事件被记录为空的
codeParameter
字段,但从 JavaScript 示例中,我知道我的包含一个 code
字段。
此外,Cognito 用户池包含一个
customMessage
lambda 触发器,我相信这就是 CognitoUserPoolCustomMessageEvent
映射到的内容。除了 customEmailSender
和 customSmsSender
之外,每个其他触发器都有一个事件类型。有没有一种方法可以做到这一点,而不必为这 2 个返回到 Node 函数?