Я пытаюсь загрузить файл в определенное место с помощью boto и python. Я пользуюсь чем-то с этим:s3 подключение к 'папке' через boto
from boto.s3.connection import S3Connection
from boto.s3.key import Key
conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket('the_bucket_name')
for key in bucket:
print key.name
Вот трюк. Мне были предоставлены учетные данные в «папку» в ведре. за это - Amazon S3 boto - how to create a folder? Я понимаю, что на самом деле в s3 нет папок, скорее таких как «foo/bar/my_key.txt». когда я пытаюсь выполнить get_bucket() Я получаю
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
потому что я не на самом деле имеют учетные данные для базового ковша, а подмножество ключей ковшей. my_bucket/the_area_I_have_permission/*
Кто-нибудь знает, как я могу передать конкретную «область» в ведро, к которому у меня есть доступ на этапе подключения? или альтернативный метод, который я могу использовать для доступа к my_bucket/the_area_I_have_permission/*
?
благодарит за ответ. Неа. получил TypeError: get_key() получил неожиданный аргумент ключевого слова 'префикс' для первого и boto.exception.S3ResponseError: S3ResponseError: 403 Запрещено для второго. – Brad
Ох смешивает два разных вызова API. Это должен быть звонок. Что касается 403, можете ли вы получить доступ к ведру с помощью другой клиники (может быть, UI или S3Explorer плагин для Firefox) с этими секретными ключами? –
dang. Я по-прежнему получаю 403 за первое. Я пытаюсь подключиться к «bucket-name», тогда я передаю путь к файлу, к которому я пытаюсь получить доступ, например: «/some/path/file.json». это верно? я пробовал с и без ведущей косой черты. – Brad