0
저는 버킷에있는 모든 객체를 다른 계정으로 완전히 제어 할 수 있도록 Python boto3을 사용하고 있습니다.AWS boto3 grantfullcontrol 구문
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 bucket.objects.all () s3.ObjectAcl ("bucketname", key.key) .put (GrantFullControl = "id = XXX") –