2

我将以下 lambda 函数设置为 Cognito 中的确认后触发器。任何人都知道为什么我会收到“无效的 lambda 函数输出:无效的 JSON”?

我从 CloudWatch 中的“console.log("params", params)" 获取日志,但不是从 "console.log("inside adminAddUserToGroup", params)" 获取日志。

const AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
const lambda = new AWS.Lambda();

type TriggerEvent = {
  version: string,
  region: string,
  userPoolId: string,
  userName: string,
  callerContext: {
    awsSdkVersion: string,
    clientId: string
  },
  triggerSource: string,
  request: {
    userAttributes: {
        sub: string,
        'cognito:email_alias': string,
        'cognito:user_status': string,
        birthdate: string,
        email_verified: string,
        gender: string,
        preferred_username: string,
        email: string
    }
  },
  response: {}
}

exports.handler = async (event:TriggerEvent, context: any, callback: any) => {
    var cognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });

    console.log("event", event);
    var params = {
        GroupName: 'customers',
        UserPoolId: event.userPoolId,  
        Username: event.userName
    };
    console.log("params", params)
    try {
        cognitoIdentityServiceProvider.adminAddUserToGroup(params, function(err: any, data: any) {
            console.log("inside adminAddUserToGroup", params)
            if (err) {
                console.log(err, err.Stack);
                context.done(err);
            }
            context.done();
        });
    } catch (err) {
        console.log("Add user to group catch err", err);
        context.fail("Add user to group catch err");
    }

}

谢谢。

4

0 回答 0