如何从当前 Lambda 函数调用另一个 Lambda 函数?
Posted
技术标签:
【中文标题】如何从当前 Lambda 函数调用另一个 Lambda 函数?【英文标题】:How can I call another Lambda function from current Lambda function? 【发布时间】:2018-10-26 14:35:40 【问题描述】:我有 2 个 Lambda 函数。首先从数据库中获取数据并将其放入 DynamoDB。然后从 DynamoDB 中获取数据。我想按顺序执行两个 lambda 函数(即先是第二个)。 我如何在第一个 Lambda 函数中调用第二个 Lambda 函数? 如何将数据传递给该 Lambda 函数? 如何从第二个 Lambda 函数获得响应?有谁知道可能的方法?请帮忙....谢谢你....
【问题讨论】:
Can an AWS Lambda function call another的可能重复 【参考方案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); //工作.....以上是关于如何从当前 Lambda 函数调用另一个 Lambda 函数?的主要内容,如果未能解决你的问题,请参考以下文章
AWS Lambda - 调用另一个 lambda 函数的方法
如何使用无服务器框架从另一个 lambda 异步调用 lambda
从另一个未被调用的 Lambda 函数中调用 Lambda 函数