Я пытаюсь разместить веб-сайт на S3. Сайт запустит лямбда-функцию и выполнит некоторые действия. Мне удалось разместить сайт и получить к нему доступ. Создал лямбда-функцию. Создал API Gateway API, метод (POST) и сцену. Однако даже после включения CORS у меня все еще появляется то же сообщение (ошибка CORS).
Вот мои шаги на API-шлюзе:
Доступ для загрузки по адресу «https://ewe5juroi8.execute-api.sa-east-1.amazonaws.com/ProdX/upload» из источника «http://dataextractorbucket.s3-website-sa-east-1.amazonaws». com» заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ соответствует вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.
В заголовке ответа на запрос я заметил следующее: «BadRequestException» НО URL-адрес имеет правильный формат.
Проверьте изображение ниже:
Кроме того, ответ имеет упомянутый заголовок.
Я ответил на аналогичный вопрос 14 июня. Пожалуйста, зайдите в мой профиль и проверьте его. Дайте мне знать, если это сработает для вас.
В конце концов, проблема не была связана с CORS. Это было связано с тем, что лямбда-функция не могла правильно обработать. Ответ HTTP 400, который я получил, был получен либо от шлюза API, либо от вашей лямбда-интеграции, сообщая вам, что запрос каким-то образом неверен. Возможно, API GW выполняет какую-то проверку входных данных по запросу или это делает лямбда-сервис. Причина ошибки CORS заключается в том, что ответ об ошибке HTTP 400 не содержит заголовка
Access-Control-Allow-Origin
.