Я пытаюсь загрузить файлы из корзины s3, используя идентификатор ключа доступа и секретный ключ доступа, предоставленные https://db.humanconnectome.org. Однако, хотя я могу перемещаться по базе данных и находить файлы (как у меня есть настроил мои учетные данные через aws cli), попытка загрузить их приводит к следующей ошибке:
«botocore.exceptions.ClientError: Произошла ошибка (403) при вызове операции HeadObject: запрещено»
С теми же учетными данными я могу просматривать одну и ту же базу данных и загружать файлы вручную через браузер облачного хранилища, такой как Cyberduck, поэтому то, как Cyberduck обращается к данным, не вызывает ошибку 403.
Я также подтвердил, что boto3 может получить доступ к моим учетным данным aws, а также попытался их жестко кодировать.
То, как я пытаюсь загрузить данные, очень просто и повторяет пример документа boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-download-file.html
s3 = boto3.client('s3',
aws_access_key_id=ACCESS_KEY_ID,
aws_secret_access_key=ACCESS_KEY,)
s3.download_file(Bucket=BUCKET_NAME, Key=FILE_KEY, Filename=FILE_NAME)
Это должно загрузить файл в папку и файл, заданный FILE_NAME, но вместо этого вызывает ошибку 403.