Передача события из шлюза API в Lambda - PullRequest
0 голосов
/ 13 октября 2018

У меня есть лямбда-функция, которая может получать JSON во многих различных формах.Идея состоит в том, чтобы получить это через API Gateway.Когда я тестирую функцию в любой форме JSON, она работает нормально.Однако, когда я пытаюсь протестировать его через API-шлюз, происходит сбой, потому что событие пустое.

Я попытался добавить отображение пустой модели:

{}

Но я все равно получаю то же самоерезультат.Как я могу заставить API передавать любой тип JSON в теле функции?

Спасибо!

РЕДАКТИРОВАТЬ

Я хочу использовать LambdaИнтеграция с прокси и у меня есть тестирование с почтальоном и функция тестирования шлюза API в консоли AWS.Я просто делаю POST с необходимым JSON в теле и заголовках типов контента.

enter image description here

1 Ответ

0 голосов
/ 13 октября 2018

Вам не нужна модель ответа.

Когда вы используете лямбда-прокси в шлюзе API, вы получаете данные в специальной форме (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запрос.

...