【问题标题】:AWS SAM: How to locally invoke all Node.js functions instead one by one?AWS SAM:如何在本地调用所有 Node.js 函数,而不是一一调用?
【发布时间】:2021-09-28 05:49:44
【问题描述】:

我正在使用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 参数的函数也可以在本地调用?

【问题讨论】:

    标签: javascript node.js docker aws-lambda aws-sam


    【解决方案1】:

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

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

    sam build
    sam local start-api
    

    【讨论】:

      猜你喜欢
      • 2020-11-06
      • 1970-01-01
      • 2020-11-11
      • 2020-05-27
      • 2017-01-01
      • 2021-04-01
      • 1970-01-01
      相关资源
      最近更新 更多