Загрузка файла Python S3 с ошибкой разрешения - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь загрузить файл на s3 в python. Пока что мой код такой:

import boto3
from botocore.exceptions import NoCredentialsError

ACCESS_KEY = 'XXXXXXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXX'


def upload_to_aws(local_file, bucket, s3_file):
    s3 = boto3.client('s3', aws_access_key_id=ACCESS_KEY,
                      aws_secret_access_key=SECRET_KEY)

    try:
        s3.upload_file(local_file, bucket, s3_file)
        print("Upload Successful")
        return True
    except FileNotFoundError:
        print("The file was not found")
        return False
    except NoCredentialsError:
        print("Credentials not available")
        return False


uploaded = upload_to_aws('image-1.png', 'bucketname', 'image-1.png')

Но когда я пытаюсь запустить код, появляется сообщение об ошибке типа

boto3.exceptions.S3UploadFailedError: Не удалось загрузить image-1.png в bucketname / image-1.png: при вызове операции PutObject произошла ошибка (AccessDenied): Access Denied

Я проверил разрешение на ведро и его штраф. Разрешение выглядит так:

Block all public access
Off
Block public access to buckets and objects granted through new access control lists (ACLs)
Off
Block public access to buckets and objects granted through any access control lists (ACLs)
Off
Block public access to buckets and objects granted through new public bucket policies
On
Block public and cross-account access to buckets and objects through any public bucket policies
On
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...