403 Запрещенная ошибка при вызове шлюза API AWS в Python - PullRequest
0 голосов
/ 12 июля 2019

Я настроил REST API в AWS с методом PUT для загрузки файлов в корзину S3.Поле «Авторизация» в запросе метода установлено на NONE.Я вызываю API в Python так:

file = {"file": open('file.jpg', 'rb')}

requests.put(https://api-id.execute-api.us-east-1.amazonaws.com/Prod/bucketname/filename, files=file) 

Однако каждый раз, когда эта команда запускается, она выдает ошибку:

"403 Client Error: Forbidden for url: https://api-id.execute-api.us-east-1.amazonaws.com/Prod/bucketname/filename"

Это не имеет смысла для меня;авторизация установлена ​​на NONE, поэтому любой должен иметь возможность вызывать API - почему я получаю «Запрещено»?Кроме того, запрос прекрасно работает в Postman - я могу вызвать API и загрузить файл, и он возвращает «200 Successful».

Я искал другие сообщения в Google и StackOverflow безрезультатно.Что происходит?

1 Ответ

0 голосов
/ 15 июля 2019

Понял, я отправлял двоичные файлы на шлюз, не добавляя эти типы файлов в раздел «Типы двоичных файлов» в настройках.По какой-то причине это привело к ошибке 403 Forbidden (хотя это и не было проблемой аутентификации вообще).

...