【发布时间】:2022-01-03 07:42:35
【问题描述】:
看图会更容易理解:
我在 node.js 中使用 AWS Lambda 进行编码。
exports.handler = async (event) => {
const payload = 'hello from lambda 1';
const params = {
FunctionName: 'lambda2',
InvocationType: 'Event',
Payload: JSON.stringify(payload),
};
const LambdaPromise = (params) => lambda.invoke(params).promise();
const responseFromLambda2 = await LambdaPromise(params);
return responseFromLambda2; //this should return {StatusCode: 202, Payload: ''}
};
我尝试参考上面的代码,但失败了。
A lambda 调用 B lambda。而B lambda 会异步调用许多C lambdas。
我怎么知道B lambda 以C lambdas 结尾?
我不能这样做,所以Lambda A 不知道lambda B 是否正确地完成了它的工作。
【问题讨论】:
-
听起来 B 应该等待其所有 C 调用完成,还是我错过了什么?
-
您可能希望为此使用 Step Functions,而不是让一个 Lambda 调用另一个。
-
@AKX 你想知道 B lambda 如何等待 C lambda 完成是对的。
-
@ErvinSzilagyi 我想使用步进函数,但我已经创建了一个后端服务器。
-
“我想使用步进函数,但是我已经创建了一个后端服务器” 这句话列出了两个彼此不相关的东西。您显然使用了一堆需要协调的 Lambda 函数,而这最好使用 Step Functions 来完成。如果您还有后端服务器,则与此特定问题无关。
标签: javascript node.js amazon-web-services aws-lambda