Пользовательские заголовки AWS APIGateway, использующие лямбда-интеграцию функций (без использования Proxy Integration) - PullRequest
0 голосов
/ 25 сентября 2019

Я использую API-шлюз для интеграции с лямбда-функцией. Тип интеграции - «Лямбда-функция», а «Использовать интеграцию лямбда-прокси» НЕ отмечен.Я использую отображение полей, отображение заголовков и т. Д. Я могу отображать поля и заголовки для запросов и ответов для сценариев успеха.

enter image description here Теперь у меня есть требование, чтобы APIПотребитель передаст мне идентификатор транзакции, который я должен вернуть потребителю для всех сценариев успеха и неудач.Я могу отобразить его обратно в случае успешного сценария, но в случае ошибочного ответа от лямбды (когда лямбда-функция выдает исключение) я не могу отобразить обратно заголовки.

Причина в том,в случае ответа об ошибке единственный способ вернуть пользовательский объект из лямбда-функции - это вернуть строковый json.Этот строковый json может быть проанализирован в разделе шаблона ответа с помощью функции $ util.parseJson (), но я не смог найти способ использовать эту функцию в разделе отображения заголовка.Без разбора этого строкового json я не вижу другой альтернативы для установки значения заголовка из лямбда-функции в случае ответа об ошибке.

В документации AWS здесь (https://docs.aws.amazon.com/apigateway/latest/developerguide/handle-errors-in-lambda-integration.html) приведены примеры только для успеха (http status 200).

Кто-нибудь еще сталкивался с такой ситуацией раньше? Есть ли другое решение, кромеиспользование интеграции Lambda Proxy. Я не хочу использовать интеграцию Lambda Proxy, потому что это потребовало бы от меня дублирования моей лямбда-функции, потому что у меня есть два потребителя, и я хочу отправить разные ответы каждому потребителю, используя сопоставление полей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...