AWS Lambda Javascript SDK, когда я получаю сообщение об ошибке с SDK IAM, обратный вызов установлен на неопределенный - PullRequest
0 голосов
/ 24 июня 2018

AWS Lambda Javascript SDK, когда я получаю ошибку с IAM SDK, для обратного вызова устанавливается значение undefined. Когда возникает ошибка с вызовом iam.listAttachedUserPolices, я получаю сообщение об ошибке с обратным вызовом. Если нет ошибки, я не получаю эту ошибку обратного вызова. Есть идеи?

TypeError: callback is not a function at Response



'use strict';
let AWS = require("aws-sdk");
let ddb = new AWS.DynamoDB({
apiVersion: '2012-10-08',
    region: process.env.DDB_REGION || 'us-east-1'
});

let utils = require('utils');

module.exports.lab1 = (event, context, callback) => {

...

let params = {
    ...
    }
};

let iam:any;
try {
    iam = new AWS.IAM({
        accessKeyId: access_key,
        secretAccessKey: secret_key,
        region: process.env.DDB_REGION || 'us-east-1'
    });
} catch (e) {
    console.log('ERROR: ', e)
    console.log('Failed verification 1');
    utils.lab(ddb, false ,cogid, callback);
    return;
}



ddb.putItem(params, function(err, data) {

    if (err) {
        console.log('CALLBAKC TYPE1 ', typeof callback);
        utils.error(500,  "Failed to create user." + err, callback );
    } else {

        let iam_params = {
            UserName: 'test_user', /* required */
        };
        iam.listAttachedUserPolicies(iam_params, function (err2, data) {
                context.callbackWaitsForEmptyEventLoop = false;
                if (err2) {

// Если мы получим ошибку здесь, обратный вызов обнаружится // неопределенным в функции utils. если мы этого не сделаем, это будет отображаться как функция.

                    console.log('Failed verification 4');

                    console.log(err2, err2.stack);
                    console.log('CALLBAKC TYPE2 ', typeof callback);

обратный вызов здесь не определен, но в случае успеха это функция

    utils.lab(ddb, false, cogid, callback); 
                }
                else {
                    ... 

Успех дела работает

              }
       });
    }
 });
 };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...