将事件从 API 网关传递到 Lambda

问题描述 投票:0回答:1

我有一个 lambda 函数,可以接收多种不同形式的 JSON。这个想法是通过 API 网关接收它。当我使用 JSON 作为输入测试该函数时,它工作正常。但是,当我尝试通过API网关测试它时,它失败了,因为事件为空。

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

{}

但我仍然得到相同的结果。如何让 API 网关将正文中的任何类型的 JSON 传递给函数?

谢谢!

编辑

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

amazon-web-services aws-lambda api-gateway
1个回答
8
投票

您不需要响应模型。

当您在 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 请求的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.