【问题标题】:How can I call another Lambda function from current Lambda function?如何从当前 Lambda 函数调用另一个 Lambda 函数?
【发布时间】:2018-10-26 14:35:40
【问题描述】:

我有 2 个 Lambda 函数。首先从数据库中获取数据并将其放入 DynamoDB。然后从 DynamoDB 中获取数据。我想按顺序执行两个 lambda 函数(即先是第二个)。 我如何在第一个 Lambda 函数中调用第二个 Lambda 函数? 如何将数据传递给该 Lambda 函数如何从第二个 Lambda 函数获得响应?有谁知道可能的方法?请帮忙....谢谢你....

【问题讨论】:

标签: node.js amazon-web-services aws-lambda amazon-dynamodb


【解决方案1】:

对于 nodejs,您可以使用 lambda.invoke 函数来执行另一个 lambda

var aws = require("aws-sdk");
var lambda = new aws.Lambda({
  region: "us-west-1",
});

var params = {
  FunctionName: "MyFunction",
  InvocationType: "RequestResponse",
  LogType: "Tail",
  Payload: "<Stringified oject to pass parameters as event>",
};


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

有关信息,请访问此链接: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#invoke-property

【讨论】:

  • 如果在某些情况下我不想将任何数据传递给第二个函数但想从中接收数据,这可能吗?
  • 第二个功能是否需要更改?
  • 第二个函数不需要更改。
  • 在Payload中只需传递一个空字符串,您将获得数据对象中第二个函数返回的数据
  • 那行得通....谢谢你....现在最后一个问题我每次都在日志中获得所需的输出,但响应为空.. callback(null,cde); // 不工作 & console.log(cde); //工作.....
猜你喜欢
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
相关资源
最近更新 更多