Я пытаюсь подключиться к OpenStack Swift с помощью boto3.Мне нужно перечислить все объекты в конкретном ведре.Используя boto2, я могу сделать это,
parsed = urlparse.urlparse(cloud_url)
conn = boto.connect_s3(aws_access_key_id=cloud_user,
aws_secret_access_key=cloud_password,
port=parsed.port,
host=parsed.hostname,
is_secure=False,
calling_format=boto.s3.connection.OrdinaryCallingFormat())
buckets = conn.get_all_buckets()
for key in buckets:
# This prints a list of bucket names.
print key
Но, делая то же самое в boto3,
session = boto3.Session()
s3 = session.resource(service_name='s3',
use_ssl=False,
verify=False,
endpoint_url=cloud_url,
aws_access_key_id=cloud_user,
aws_secret_access_key=cloud_password)
print(list(s3.buckets.all()))
Я получаю сообщение об ошибке,
AnПроизошла ошибка (401) при вызове операции ListBuckets: Unauthorized
Я не могу выполнить никаких операций на конечной точке, используя boto3, но я использую тот же ключ доступа и секретный ключ.
Есть ли что-то еще, что нужно установить при использовании boto3?