У меня проблема с установкой тегов для ведер S3 с помощью Python Boto. Я подключаюсь к своему собственному Ceph-хранилищу и пробую следующее:
conn = boto.connect_s3(
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
host=RGW_HOST,
port=RGW_PORT,
is_secure=RGW_SECURE,
calling_format=boto.s3.connection.OrdinaryCallingFormat(),
)
new_id = '10'
bucket = conn.get_bucket(new_id)
tag_set = TagSet()
tag_set.add_tag(key='a', value='b')
tags = Tags()
tags.add_tag_set(tag_set)
bucket.set_tags(tags)
Но у меня ошибка:
boto.exception.S3ResponseError: S3ResponseError: 400 Bad Request
<?xml version = "1.0" encoding = "UTF-8"?><Error><Code>InvalidArgument</Code><BucketName>ipo36</BucketName><RequestId>tx000000000000000000035-005ac4c3cf-1063bb-default</RequestId><HostId>1063bb-default-default</HostId></Error>
Кто-нибудь знает, что я делаю не так?





В наши дни я бы рекомендовал использовать boto3, а не boto 2.
Вот код, который работает:
import boto3
client = boto3.client('s3', region_name='ap-southeast-2')
tag = {'TagSet':[{'Key': 'Department', 'Value': 'Finance'}]}
response = client.put_bucket_tagging(Bucket='my-bucket', Tagging=tag)
У меня это сработало! Попробуйте обновить до последней версии: sudo pip install boto3 --upgrade
Можете ли вы попробовать это с другого компьютера, просто чтобы определить, связано ли это с компьютером или сетью?
У меня есть все элементы ceph-cluster на виртуальных машинах на моем ПК. Может у меня проблема в конфигурации ceph-кластера?
Извините, с boto3 у меня была эта ошибка: botocore.exceptions.ClientError: Произошла ошибка (InvalidArgument) при вызове операции PutBucketTagging: Неизвестно