Как вернуть ответ не по умолчанию в шлюзе API AWS, не вызывая исключение? - PullRequest
0 голосов
/ 11 февраля 2019

Я использую сервис, который использует AWS API Gateway.Существует конечная точка, которая интегрируется с использованием лямбда-функции, написанной на Python.Эта конечная точка имеет несколько разных кодов ответов, например, 200, 201, 400, 404.

Я знаю, что мы можем генерировать разные коды ответов, вызывая исключение и перехватывая регулярное выражение ошибки в API Gateway.Пример на python будет выглядеть следующим образом:

def lambda_handler(event, context):
    raise Exception('404_not_found')

И затем настройте его в шлюзе API следующим образом:

gateway config

Затем будет возвращен код ответа 404,Проблема с этим подходом состоит в том, что мой журнал будет полон ошибок.Даже когда я хочу выдать ответ, отличный от ответа по умолчанию, например, 201 в этом случае, я считаю, что мне придется вызвать исключение.

Это приводит к сложному мониторингу, где у меня есть куча исключенийв моих журналах, которые на самом деле просто естественное поведение.Поэтому мой вопрос: могу ли я сгенерировать ответ не по умолчанию, не вызывая исключение при использовании лямбда-выражений Python и шлюза API?

1 Ответ

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

В OpenAPI вы можете использовать x-amazon-apigateway-gateway-responses на уровне корня API.Аналогичным образом вы можете сделать в Python.Вы можете сослаться https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-gateway-responses-in-swagger.html

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