Как отобразить ответы WSGI в AWS API Gateway - PullRequest
0 голосов
/ 26 июня 2019

Я развернул приложение Flask на AWS Lambda, используя aws-wsgi.Я создал пару ресурсов в AWS API Gateway и сопоставил их методы с моей лямбдой.Теперь я могу POST / GET для этих ресурсов, и я получаю «ответ» (см. Ниже).Я понимаю, что этот ответ содержится в каком-то стандарте WSGI, но я бы хотел перевести его как «просто ответ».Прямо сейчас мои конечные точки возвращают JSON, но я хотел бы проявить гибкость и поддерживать другие типы контента, которые может возвращать мое приложение Flask.Как настроить сопоставление в ответе шлюза API, чтобы соответствующим образом переформатировать ответ?У меня есть ответ по умолчанию "Интеграционный ответ" (с промежуточным выводом "Да"), но я не знаю, что делать в "Метод ответа".

Это ответ, который я получаю:

{
"isBase64Encoded": false,
"statusCode": "200",
"headers": {
"Content-Type": "application/json",
"Content-Length": "47"
},
"body": "{\n  \"key1\": 1, \n  \"key2\": 3, \n  \"key3\": 2\n}\n"
}

Я использую Flask и aws-wsgi (https://pypi.org/project/aws-wsgi/) без особой причины, я видел, что есть другие подобные проекты (например, https://github.com/adamchainz/apig-wsgi), и я готов попробовать альтернативы.

1 Ответ

0 голосов
/ 26 июня 2019

В разделе «Запрос на интеграцию» отметьте «Использовать интеграцию с Lambda Proxy».

...