使用 Python Boto "InvalidArgument" 进行 S3 存储桶标记



我将标签设置为使用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)

相关内容

  • 没有找到相关文章

最新更新