У меня API-шлюз в качестве триггера для моей лямбда-функции. Всякий раз, когда моя лямбда вызывает исключение, оно сопоставляется с шаблоном, настроенным в Integration Response. Проблема в том, что если исключение содержит новую строку , то шаблон игнорируется и возвращает 200 в качестве кода состояния по умолчанию .
Чтобы воспроизвести проблему:
- Создайте лямбду с python 3.6 и добавьте шлюз API в качестве триггера.
- В API Шлюз, настройте регулярное выражение ответа интеграции как «Внутренняя ошибка сервера. *» Для пользовательского кода 500. (означает, что если лямбда-сообщение возвращает сообщение с префиксом «Внутренняя ошибка сервера», оно будет рассматриваться как исключение, а для кода состояния будет установлено значение 500).
- В лямбде выведите сообщение об исключении, содержащее новую строку "\ n".
- Когда вы запускаете лямбду из API-шлюза, он возвращает 200 вместо 500 в качестве кода состояния.
Примечание. Если вы удаляете символ новой строки из сообщения об исключении, он работает нормально и возвращает 500, как и ожидалось.
Кто-нибудь сталкивался с такой же проблемой? Какие-нибудь решения для этого?