Ошибка SignatureDoesNotMatch при загрузке большого количества файлов - PullRequest
0 голосов
/ 16 апреля 2019

Я получаю сообщение об ошибке при попытке загрузить 500 файлов в S3-совместимое хранилище объектов с помощью python / boto3.

Я написал cronjob для обнаружения файлов в определенном каталоге и загрузки этих файлов в корзину S3 с помощьюбиблиотека boto3.Возможность загрузить 400+ файлов, и он вышел с ошибкой следующего.Я не верю, что это проблема с учетными данными, потому что она загружала 400+ файлов до этой ошибки.

boto3.exceptions.S3UploadFailedError: Не удалось загрузить 00000432_1081801000_06042019_07042019.pdf к as003a / 36437128: Произошла ошибка (SignatureDoesNotMatch) при вызове операции PutObject: Запрос подписи мы рассчитали не соответствует подписи вы предоставили,Проверьте свой секретный ключ доступа AWS и метод подписи.Для получения дополнительной информации см. REST-аутентификацию и SOAP-аутентификацию для получения подробной информации.

 # inside a loop of the list of files
 if os.path.exists(filename):
     totalUploadSize += os.stat(filename).st_size
     totalUploadCount += 1
     obj = s3.Object('as003a', s3id )
     obj.upload_file(filename, ExtraArgs={"Metadata": billMetadata})
     os.remove(filename)

Я сталкивался с этим даже при файле около 430, и мне нужно, чтобы он работал на 10000 в пакете с 10 пакетами в день.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...