Можно ли получить доступ к исходному телу запроса в шаблоне сопоставления тела ответа в AWS API Gateway? - PullRequest
0 голосов
/ 03 февраля 2019

Используя API Gateway, я пытаюсь определить конечную точку POST, которая принимает application / json для выполнения следующих действий:

  1. Асинхронный запуск лямбды
  2. Ответ с полезной нагрузкой JSONсостоит из элементов из тела запроса

У меня # 1 работает.Я думаю, что это по книге.

Это # 2, меня обманывают.Похоже, у меня нет доступа к телу запроса в контексте шаблона отображения ответа.У меня есть доступ к исходным параметрам запроса с помощью $ input.params, но я не могу найти какое-либо свойство, которое даст мне исходное тело запроса, и оно мне нужно для получения данных, на которые я хочу ответить.Либо это так, либо мне нужно выяснить, как получить асинхронный запуск лямбды, чтобы каким-то образом предоставить исходное тело запроса.

Кто-нибудь знает, возможно ли это?

Моя цель состоит в том, чтобыубедитесь, что мой API отвечает как можно быстрее, не вызывая холодного запуска Lambda для ответа И одновременно не запуская асинхронный рабочий процесс, запуская Lambda.Я также хотел бы интегрироваться с SNS вместо Lambda напрямую и сделать так, чтобы Lambda подписывался на эту тему, но я не знаю, даст ли это мне доступ к данным, которые мне нужны в шаблоне отображения ответов.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Я решил, что невозможно делать то, что я хочу.

0 голосов
/ 03 февраля 2019

Чтобы получить доступ к исходному запросу напрямую, вы должны использовать Proxy Integration для Lambda, а не отображать вещи через обычную интеграцию.Вы сможете получить доступ ко всему контексту запроса, такому как заголовки, параметры пути и т. Д.

...