AWS SAM:如何在本地调用所有 Node.js 函数而不是一个一个地调用?

AWS SAM: How to locally invoke all Node.js functions instead one by one?

我正在使用 AWS LambdaAPI GatewayRDS (MySQL) 开发 REST API。我正在使用 Node.js。我也在使用 AWS SAM 工具。

在我的 API 中,我有接受 URL 参数和不接受参数的 lambda 函数。

我注意到我可以毫无问题地将它们部署到 AWS,然后从 POSTMAN.

执行

然而,当我尝试在本地 运行 它们时,我 运行 遇到了问题。

  1. 当我执行sam local invoke时,它说Error: You must provide a function logical ID when there are more than one functions in your template.所以我不得不一个一个地执行它们,比如sam local invoke FunctionName
  2. 当我尝试调用接受 URL 参数的函数时,它显示 TypeError: Cannot destructure property 'id' of 'event.queryStringParameters' as it is undefined. 这里 id 是 URL 参数的名称。

所以,

  1. 如何在本地调用所有 node.js 函数,而不是一个一个地调用?
  2. 如何确保具有 URL 参数的函数也可以在本地调用?

在Node.JS中,无法一次在本地调用所有内容。 sam local invoke FUNCTION_NAME 是要走的路。

因为问题是关于 REST API,如果你想检查 REST api 是如何工作的,你所要做的就是这个

sam build
sam local start-api