загрузка файла изображения в aws s3 с помощью python

#python #amazon-web-services #amazon-s3

#python #amazon-веб-сервисы #amazon-s3

Вопрос:

 import tinys3

 conn =tinys3.Connection(aws_key_id,aws_secrert_key)

 f = open('c:/Users/Akhil/Downloads/New/img033.jpg','rb')
 conn.upload('c:/Users/Akhil/Downloads/New/img033.jpg',f,'matt3r')
  

Я пытаюсь загрузить изображение, присутствующее в локальном каталоге, показанном ниже, в корзину aws s3 matt3r. когда я запускаю это, я получаю следующую ошибку :

 Traceback (most recent call last):
File "conn.py", line 6, in <module>
conn.upload('c:/Users/Akhil/Downloads/New/img033.jpg',f,'matt3r')
File "C:Python27libsite-packagestinys3connection.py", line 171, in    upload
 return self.run(r)
File "C:Python27libsite-packagestinys3connection.py", line 262, in run
return self._handle_request(request)
File "C:Python27libsite-packagestinys3connection.py", line 356, in _handle_request
return request.run()
File "C:Python27libsite-packagestinys3request_factory.py", line 346, in run
auth=self.auth)
File "C:Python27libsite-packagesrequestsapi.py", line 123, in put
return request('put', url, data=data, **kwargs)
File "C:Python27libsite-packagesrequestsapi.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "C:Python27libsite-packagesrequestssessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "C:Python27libsite-packagesrequestssessions.py", line 596, in send
r = adapter.send(request, **kwargs)
File "C:Python27libsite-packagesrequestsadapters.py", line 473, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(10054,   'An existing connection was forcibly closed by the remote host'))
  

Комментарии:

1. добавили ли вы разрешения в корзину S3, чтобы разрешить пользователям, прошедшим проверку подлинности AWS ? Подразумевается ли, что вы используете только tinys3 для выполнения задачи? вы можете использовать Boto , который намного лучше

2. @Alienertainment нет … как мне добавить разрешения

3. следуйте —-> docs.aws.amazon.com/AmazonS3/latest/UG /…

4. @Alienertainment Я добавил user…is этого достаточно?

5. это должно сработать … если вы используете те же учетные данные пользователя

Ответ №1:

Вам необходимо добавить политику для AWS S3 для вашего пользователя IAM.