#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.