Node.js AWS Cognito用户池的事件触发器对象

Node.js AWS Cognito用户池的事件触发器对象,node.js,amazon-web-services,aws-lambda,amazon-cognito,Node.js,Amazon Web Services,Aws Lambda,Amazon Cognito,我想在我的AWS Cognito用户池中为新注册的用户生成一条自定义验证消息 为此,我尝试将Lamda函数与“自定义消息”触发器相关联 但是,我无法找到自定义消息事件的确切格式,无法使lambda函数生效 我提出的lambda函数是 exports.handler = function(event, context) { // if(event.userPoolId === "us-east-t9....") { // Identify why was th

我想在我的AWS Cognito用户池中为新注册的用户生成一条自定义验证消息

为此,我尝试将Lamda函数与“自定义消息”触发器相关联

但是,我无法找到自定义消息事件的确切格式,无法使lambda函数生效

我提出的lambda函数是

 exports.handler = function(event, context) {
    // 
    if(event.userPoolId === "us-east-t9....") {

        // Identify why was this function invoked
        if(event.triggerSource === "RegisterUser") {
            // This Lambda function was invoked because a new user signed up to the user-pool "theRequiredUserPool"
            // Ensure that your message contains event.request.codeParameter, this is the place holder for code that will be sent.
                        var link = "https://.....confirm_user.html?username="+ event.userName + "&code=" + event.request.codeParameter;
            var message = "Thank you for signing up. Your confirmation code is " + event.request.codeParameter;
            message+= " Click <a href='"+link+"'>here to finish your registatration!";
            event.response.emailSubject = "Welcome to the service";
            event.response.emailMessage = message;

        }
        // Create custom message for other events
    }
    // Customize messages for other user pools


    // Return result to Cognito
    context.done(null, event);
}
exports.handler=函数(事件、上下文){
// 
如果(event.userPoolId==“us-east-t9…”){
//确定调用此函数的原因
如果(event.triggerSource==“RegisterUser”){
//调用此Lambda函数是因为新用户注册了用户池“theRequiredUserPool”
//确保您的邮件包含event.request.code参数,这是将要发送的代码的占位符。
变量链接=”https://.....confirm_user.html?username=“+event.userName+”&code=“+event.request.code参数;
var message=“感谢您的注册。您的确认代码为”+event.request.codeParameter;
消息+=“单击

我需要比这更坚实的东西。我无法让我的函数工作,我不知道从哪里开始。如果我不知道事件对象中会发生什么,我如何实现lambda函数?是否有“自定义消息”事件的规范

更新:
既然Amazon用户池已退出测试版,从2016年7月29日起,我就不再有这个问题了。

以前的文档中似乎有错误。请尝试使用triggerSource名称作为“CustomMessage\u SignUp”。您还可以查看更新的文档以获取示例。

您可以使用
console.log()
记录
事件
属性并检查其在CloudWatch中的结构。您知道lambda是否被调用吗?lambda中的“监控”选项卡应该可以帮助您看到这一点。这是一个好主意。@Alexis-o和no,看起来lambda甚至没有被调用-(
{  "version": 1,
  "triggerSource": "RegisterUser/ResendCode/ForgotPassword/VerifyUserAttribute",
  "region": "<region>",
  "userPoolId": "<userPoolId>",
  "userName": "<userName>",
  "callerContext": {
      "awsSdk": "<calling aws sdk with version>",
      "clientId": "<apps client id>",
      ...
  },
  "request": {
      "userAttributes": {
          "phone_verified": true/false,
          "email_verified": true/false,
          ... (all custom attributes)
      },
      "codeParameter": "{code}"
  },
  "response": {
      "smsMessage": "<custom message to be sent in the message with code parameter>"
      "emailMessage": "<custom message to be sent in the message with code parameter>"
      "emailSubject": "<custom email subject>"
  }
}