Как подключиться к Openstack Swift с помощью boto3 - PullRequest
2 голосов
/ 03 июня 2019

Я пытаюсь подключиться к 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...