неверный ответ лямбда-прокси, не удается найти ошибку - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь получить данные из своего api с помощью лямбда-кода и API-шлюза, при отправке запросов на получение я получаю эту ошибку:

Execution failed due to configuration error: Malformed Lambda proxy response

код возвращает: * что я делаю не так?

1 Ответ

1 голос
/ 09 мая 2020

Ответ прокси должен быть словарем, который должен содержать только следующие ключи :

  • headers
  • body
  • isBase64Encoded
  • multiValueHeaders
  • statusCode

В вашем примере у вас есть один дополнительный ключ Access-Control-Allow-Origin, и поэтому API Gateway утверждает, что он это неправильный ответ. В документации, указанной выше, даже явно указано, что Access-Control-Allow-Origin должен быть частью headers:

Чтобы включить CORS для интеграции прокси-сервера Lambda, вы должны добавить Access-Control-Allow-Origin:domain-name к выходным данным headers.domain-name can быть * для любого доменного имени.

Если вы измените ответ на следующий, он должен работать нормально:

return {
    'statusCode': 200,
    'headers': {
        'Access-Control-Allow-Origin': '*',
        'Content-Type': 'application/json'
    },
    'isBase64Encoded': False,
    'body': json.dumps(data)
}
...