Заранее спасибо. Я пытаюсь получить файл amazon s3 после загрузки. Но возникает ошибка клиента:
*** botocore.exceptions.ClientError: Произошла ошибка (404) при вызове операции HeadObject: не найдено
Мой код:
filename = secure_filename(file.filename)
s3 = boto3.resource('s3')
s3_bucket = current_app.config['S3_BUCKET']
s3_dir = current_app.config['S3_DIR']
client = boto3.client(
's3',
aws_access_key_id=current_app.config['AWS_ACCESS_KEY'],
aws_secret_access_key=current_app.config['AWS_SECRET_ACCESS'],
region_name='us-west-1',
)
response = client.put_object(
ACL='public-read',
Bucket=s3_bucket,
Key=f'{s3_dir}/{filename}',
Body = io.BufferedReader(file).read(),
)
## response
## {'ResponseMetadata': {'RequestId': 'XXXXX', 'HostId': 'XXXXXXX', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amz-id-2': 'XXXXXXXX', 'x-amz-request-id': '19B2124B56C007AA', 'date': 'Wed, 11 Dec 2019 06:38:48 GMT', 'etag': '"XXXXXXXXXXXX"', 'content-length': '0', 'server': 'AmazonS3'}, 'RetryAttempts': 0}, 'ETag': '"XXXXXXXXXXX"'}
image_file = s3.meta.client.download_file(s3_bucket, filename, f'{s3_dir}/{filename}')
# Client error occurs
Я прошел с download_file .