代码之家  ›  专栏  ›  技术社区  ›  rodrigocf

将事件从API网关传递到Lambda

  •  1
  • rodrigocf  · 技术社区  · 7 年前

    我有一个lambda函数,可以接收多种形式的JSON。其想法是通过API网关接收。当我测试给定任何形式JSON的函数时,它都可以正常工作。然而,当我试图通过API网关测试它时,它失败了,因为事件是空的。

    我试图添加一个空的模型映射:

    {}
    

    但我还是得到了同样的结果。如何让API将主体中的任何类型的JSON传递给函数?

    谢谢

    编辑

    我想使用Lambda代理集成,我在AWS控制台中使用postman和API网关测试功能进行测试。我只是在正文和内容类型标题中使用了所需的JSON。

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  8
  •   thomasmichaelwallace    7 年前

    你不需要一个响应模型。

    当在API网关中使用lambda代理时,将以特定形式获取数据( https://serverless.com/framework/docs/providers/aws/events/apigateway/#example-lambda-proxy-event-default )详细信息。

    与直接调用 handler(event, ctx, callback) 函数允许您简单地执行以下操作: const payload = event 获取测试数据;你需要这样做 const payload = JSON.parse(event.body) ,作为 event 参数包含有关完整http请求的更多信息。