我正在尝试通过AWS CLI进行存储桶复制交叉帐户:
aws s3api put-bucket-replication --bucket“ mybucket”--replication-configuration“ {\” Role \“:\” arn:aws:iam :: xxxxxxx:role / buckets-replication \“,\” Rules \“:[{\“状态\”:\“启用\”,\“优先级”:1,\“ DeleteMarkerReplication \”:{\“状态\”:\“启用\”},\“目的地\”:{\“桶\”:\“ arn:aws:s3 ::: mybucket-destination \”,\“ AccessControlTranslation \”:{\“所有者\”:\“目的地\”}}}}}“-地区” eu-west-1“ --profile默认
我收到此错误:
调用PutBucketReplication时发生错误(MalformedXML)操作:您提供的XML格式不正确或没有根据我们发布的模式进行验证
相应的Xml为:
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Role>string</Role>
<Rule>
<Status>string</Status>
<Priority>integer</Priority>
<DeleteMarkerReplication>
<Status>string</Status>
</DeleteMarkerReplication>
<Destination>
<Bucket>string</Bucket>
<AccessControlTranslation>
<Owner>string</Owner>
</AccessControlTranslation>
</Destination>
</Rule>
</ReplicationConfiguration>
我真的看不出语法有什么问题。我遵循了此文档:https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html#AmazonS3-PutBucketReplication-request-Role
似乎
<DeleteMarkerReplication> <Status>string</Status> </DeleteMarkerReplication>
即使设置为禁用,也是必需的。