2016-04-11 7 views
0

С помощью boto для загрузки файлов у меня была странная ошибка 403 Forbidden, как и у многих других пользователей. Ни один из предоставленных им решений не работал для меня.Ошибка сервера AWS S3 403 из-за файла резервной копии

Дело в том, что я загрузил много файлов на своем ковше, и большинство из них работало, пока не дали ошибку 403.

Я также понял, что проблема была пришедшая из файла с именем UUID_Server.csv ~

При переименовании файла, удаление тильды, все работает. Я сделал обходной путь в своем сценарии, но решение не очень элегантно.

Любая идея, почему '~' не будет переваривать для s3? Я не использую конфигурационный файл, все в скрипте. Моя версия python - 2.7.3, и boto обновлена.

Заранее спасибо.

ответ

3

AWS S3 должно быть в порядке с ~ в имени файла.

Использование команды AWSCLI aws Мне удалось загрузить файл с именем data.txt~.

В любом случае, вы говорите о boto в актуальном состоянии. Если вы проверяете README.rst этого проекта, вы найдете там:

boto 2.39.0 

Released: 9-Apr-2015 

Это год и 2 дня сегодня без обновления.

Количество вопросов в этом пакете растет, и в соответствии с Митчем Garnaat (автор boto) comment to my issue«Там нет пути домой», будущее развитие только с boto3.

Так что мой совет: попробуйте переписать сценарий на boto3, он, скорее всего, будет работать лучше и будет работать дольше.

+0

Поскольку символ '~' является символом, который может потребовать специальной обработки в URL-адресе посредством URL-кодирования (или может быть предоставлен специальная обработка, когда это не требуется), а код подписи должен генерировать подпись, которая соответствует кодировке, это кажется вероятным кандидатом на объяснение проблемы, и устаревшее состояние boto ... ну, да. Должно быть, это сработало. +1 –

+0

Я переключился на boto3 с (почти) тем же сценарием. И на этот раз все отлично, спасибо! – Sogeking

+0

@Sogeking Visiting 'boto' page Я нашел [запрос на удаление вашей проблемы] (https://github.com/boto/boto/commit/98651e86a5fddee84c123ff78dbe09eca68b5d5a) объединился неделю назад в мастер. Интересно, выпустят ли они когда-нибудь новую версию или сохранит «boto' в« использовании версии разработки, если вам нравится », как сейчас. Хорошо, что вы перешли на 'boto3'. –