我将标签设置为使用Python Boto设置标签的问题。我要连接到自己的Ceph-Storegorage,然后尝试以下操作:
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)