Проблема с вызовом лямбды из другой лямбды

У меня есть 2 функции Lambda, которые я хотел бы вызывать напрямую, а не через шлюз API. Лямбда-функция A вызывает Lambda B вместе с queryStringParameters. По некоторым причинам я получаю эту ошибку

{ UnexpectedParameter: в параметрах обнаружен неожиданный ключ 'queryStringParameters'

Это моя функция Lambda A

    var aws = require('aws-sdk');
var lambda = new aws.Lambda({
  region: 'eu-central-1'
});    
exports.handler = (event, context, callback) => {
var params = {
      FunctionName: "function-getStats", 
      InvocationType: "RequestResponse", 
      LogType: "Tail", 
      "queryStringParameters" : { "fn" : "latest_no" }
     };
     lambda.invoke(params, function(err, data) {
       if (err) console.log(err, err.stack); // an error occurred
       else     console.log(data);           // successful response
     });
};

Который вызывает Lambda B, как показано ниже

var AWS = require('aws-sdk');
AWS.config.update({region: 'eu-central-1'});
var ddb = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});

exports.handler = (event, context, callback) => {
    var fn = event["queryStringParameters"]['fn'];
...
..


//If successful return the following response
     console.log("Success", items);
                callback(null, {
                    'statusCode': '200',
                    'body': JSON.stringify(items),
                    'headers': {
                        "Access-Control-Allow-Origin": "*"

                    },
                    'isBase64Encoded': false
                });

Может кто-нибудь посоветовать, как это исправить?


person Ash A    schedule 03.08.2018    source источник
comment
Проблема с Lambda A, Lambda B работает нормально из теста или через шлюз API. Я не уверен, почему он не смог найти queryStringParameters   -  person Ash A    schedule 03.08.2018


Ответы (1)


На случай, если у кого-то возникнет такая же проблема. вот подход, который я сделал

var aws = require('aws-sdk');
var lambda = new aws.Lambda({
  region: 'eu-central-1'
});    
exports.handler = (event, context, callback) => {
    event.queryStringParameters= {"fn" : "latest_no" };
var params = {
      FunctionName: "function-getStats", 
      InvocationType: "RequestResponse", 
      LogType: "Tail", 
      Payload: JSON.stringify(event, null, 2), 

     };
     lambda.invoke(params, function(err, data) {
       if (err) console.log(err, err.stack); // an error occurred
       else     console.log(data);           // successful response
     });
};
person Ash A    schedule 03.08.2018