最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在Serverless中本地调用另一个Lambda中的lambda

IT培训 admin 6浏览 0评论

在Serverless中本地调用另一个Lambda中的lambda

我正在使用无服务器+ aws + node.js.

我有一个lambda叫另一个lambda。我不能在本地运行这个地段。我可以使用'serverless invoke local -f ...'在本地调用两个lambdas但是 来电者回来:

{"message":"Function not found: arn:aws:lambda:eu-west-1:5701xxxxxxxxxx:function:the-right-function-name"}

as if the caller function invoked the callee on AWS and not locally.

无论如何要留在当地,如果是的话,我可能会缺少什么?

回答如下:

你可以用这个plugin实现这一目标。 AWS SDK for Lambda具有一项功能,允许您覆盖Lambda服务的API端点。因此,您可以将其设置为localhost。

const AWS = require('aws-sdk');

const endpoint = process.env.SERVERLESS_SIMULATE ?
  process.env.SERVERLESS_SIMULATE_LAMBDA_ENDPOINT :
  undefined

const lambda = new AWS.Lambda({ endpoint })

有关更多详细信息,请参阅插件的自述文件。还有一个很好的article。

在Serverless中本地调用另一个Lambda中的lambda

我正在使用无服务器+ aws + node.js.

我有一个lambda叫另一个lambda。我不能在本地运行这个地段。我可以使用'serverless invoke local -f ...'在本地调用两个lambdas但是 来电者回来:

{"message":"Function not found: arn:aws:lambda:eu-west-1:5701xxxxxxxxxx:function:the-right-function-name"}

as if the caller function invoked the callee on AWS and not locally.

无论如何要留在当地,如果是的话,我可能会缺少什么?

回答如下:

你可以用这个plugin实现这一目标。 AWS SDK for Lambda具有一项功能,允许您覆盖Lambda服务的API端点。因此,您可以将其设置为localhost。

const AWS = require('aws-sdk');

const endpoint = process.env.SERVERLESS_SIMULATE ?
  process.env.SERVERLESS_SIMULATE_LAMBDA_ENDPOINT :
  undefined

const lambda = new AWS.Lambda({ endpoint })

有关更多详细信息,请参阅插件的自述文件。还有一个很好的article。

发布评论

评论列表 (0)

  1. 暂无评论