node.js - 从另一个 lambda 调用 lambda 时出现问题

标签 node.js aws-lambda amazon-dynamodb aws-api-gateway aws-sdk-nodejs

我有 2 个 Lambda 函数,我想直接调用它们,而不是通过 API 网关。 Lambda 函数 A 正在调用 Lambda B 以及 queryStringParameters。由于某些原因,我收到此错误

{ UnexpectedParameter: Unexpected key 'queryStringParameters' found in params

这是我的 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
                });

有人可以建议如何解决这个问题吗?

最佳答案

如果有人遇到同样的问题。这是我采取的方法

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
     });
};

关于node.js - 从另一个 lambda 调用 lambda 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51671446/

相关文章:

amazon-web-services - "The conditional request failed"而条件有效

node.js - 列出git中master和当前分支之间的所有文件?如果有任何 Node 包可以将结果推送到数组 :) 中,那就太好了

Node.js 客户端连接和 Azure 事务计费成本

node.js - AWS Elastic Search Policy,只允许lambda访问Elastic Search

python - 在 DynamoDB 中使用带有保留字的 ProjectionExpression 和 Boto3

python - 如何在给定主分区键值列表的情况下一次 batch_get_item 多个项目

javascript - Nest 无法解析 BlahService 的依赖关系,尽管它是 Global()

javascript - 如何将数据传递到 Bootstrap 模型中?

aws-lambda - Django Zappa 生成的 cloudfront 生成 403 错误

rest - 具有服务器端身份验证和 Cognito 的无服务器框架