0
我正在使用Python boto3授予对存储桶中所有对象的完全控制权给另一个帐户。这里是我有的片段:AWS boto3授权控制语法
s3 = boto3.resource('s3')
bucket = s3.Bucket("bucketname")
for key in bucket.objects.all():
key.put(GrantFullControl="id=XXXX")
此代码运行良好,并更改所有者,但它重写0字节的对象。这是因为put方法创建了一个新对象吗?什么是更改ACL属性的方法?
得到了解决。 Put方法创建对象,这就是为什么使用相同名称重写空对象的原因。还有另一种更新对象ACL属性的方法objectacl。以下是我更新后的代码: for key.bucket.objects.all(): s3.ObjectAcl(“bucketname”,key.key).put(GrantFullControl =“id = XXX”) –