AWS Лямбда возвращает ответ как 502 Плохой запрос для метода выбора - PullRequest
0 голосов
/ 31 января 2020

У меня есть лямбда-функция (LAMBDA_PROXY) со шлюзом API, которая реализована в Golang (go -chi маршрутизатор). когда я вызываю лямбду от почтальона или браузера, он дает статус 502 Bad Gateway. В CloudWatch я обнаружил следующее сообщение об ошибке

Ошибка при создании ответа прокси-сервера: Код состояния не указан в ответе: errorString null

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

Ошибка, которую вы получаете, заключается в том, что при использовании интеграции прокси-сервера API Gateway + Lambda возвращаемое значение из функции лямбда должно быть в следующем JSON формат :

{
    "isBase64Encoded": true|false,
    "statusCode": httpStatusCode,
    "headers": { "headerName": "headerValue", ... },
    "body": "..."
}

Поскольку вы используете Golang, вы можете отредактировать возвращаемое значение вашего основного. go добавьте следующий фрагмент кода следующим образом:

return events.APIGatewayProxyResponse{
    Body: string(body), 
    StatusCode: 200
}, nil

Надеюсь, это поможет!

0 голосов
/ 31 января 2020

Вам необходимо ответить правильным ответом при использовании флажка «Использовать лямбда в качестве прокси». Проверьте этот документ .

Этот может быть более подходящим

...