AWS Ответ интеграции шлюза API - лямбда-ошибка Regex не соответствует, когда ответ содержит новую строку - PullRequest
1 голос
/ 28 апреля 2020

У меня API-шлюз в качестве триггера для моей лямбда-функции. Всякий раз, когда моя лямбда вызывает исключение, оно сопоставляется с шаблоном, настроенным в Integration Response. Проблема в том, что если исключение содержит новую строку , то шаблон игнорируется и возвращает 200 в качестве кода состояния по умолчанию .

Чтобы воспроизвести проблему:

  1. Создайте лямбду с python 3.6 и добавьте шлюз API в качестве триггера.
  2. В API Шлюз, настройте регулярное выражение ответа интеграции как «Внутренняя ошибка сервера. *» Для пользовательского кода 500. (означает, что если лямбда-сообщение возвращает сообщение с префиксом «Внутренняя ошибка сервера», оно будет рассматриваться как исключение, а для кода состояния будет установлено значение 500).
  3. В лямбде выведите сообщение об исключении, содержащее новую строку "\ n".
  4. Когда вы запускаете лямбду из API-шлюза, он возвращает 200 вместо 500 в качестве кода состояния.

Примечание. Если вы удаляете символ новой строки из сообщения об исключении, он работает нормально и возвращает 500, как и ожидалось.

Кто-нибудь сталкивался с такой же проблемой? Какие-нибудь решения для этого?

...