【问题标题】:How do I know when an async aws lambda ends?我如何知道异步 aws lambda 何时结束?
【发布时间】: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 lambdaC 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


【解决方案1】:

你描述的场景非常适合AWS Step Functions

Step Functions 是一种无服务器编排服务,可让您结合 AWS Lambda 函数和其他 AWS 服务来构建业务关键型应用程序。通过 Step Functions 的图形控制台,您可以将应用程序的工作流程视为一系列事件驱动的步骤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多