Глядя на ваш код, у вас есть два разных объекта S3 , s3_client
и s3
:
s3_client = boto3.client('s3')
...
session = Session(aws_access_key_id, aws_secret_access_key)
s3 = session.resource('s3')
...
def download(bucketname, key):
path = '/Volumes/LaCie Mac/' + concatenate(key.key)
s3_client.download_file(bucketname, key.key, path)
`` `
Глядя на вашкод, похоже, вы используете свои aws_access_key_id
и aws_secret_access_key
на своем session
объекте, который вы используете на своем ресурсе s3
, как и ожидалось, но вы не используете сеанс на s3_client
.
Если я правильно понимаю вашу проблему, вы сможете решить эту проблему, создав клиента из сеанса, например:
session = Session(aws_access_key_id, aws_secret_access_key)
s3 = session.resource('s3')
s3_client = session.client('s3')