rom*_*ain 10 amazon-s3 amazon-web-services
我很惊讶地发现在 S3 存储桶跨区域复制情况下没有复制文件删除,运行这个简单的测试:
所以我检查了文档,我发现了这个声明:
如果您从源存储桶中删除对象,则会发生以下情况:
- 如果您在未指定对象版本 ID 的情况下发出 DELETE 请求,Amazon S3 会添加删除标记。Amazon S3 处理删除标记如下:
- 如果使用最新版本的复制配置,即您在复制配置规则中指定 Filter 元素,Amazon S3 不会复制删除标记。
- 如果未指定 Filter 元素,Amazon S3 将假定复制配置是先前版本 V1。在早期版本中,Amazon S3 以不同方式处理删除标记的复制。有关更多信息,请参阅向后兼容性。
后面的向后兼容链接告诉我:
- 当您从源存储桶中删除对象而不指定对象版本 ID 时,Amazon S3 会添加删除标记。如果您使用复制配置 XML 的 V1,Amazon S3 会复制由用户操作产生的删除标记。[...] 在 V2 中,Amazon S3 不复制删除标记,因此您必须将 DeleteMarkerReplication 元素设置为 Disabled。
所以如果我总结一下:
嗯,这是我的配置:
{
"ReplicationConfiguration": {
"Role": "arn:aws:iam::271226720751:role/service-role/s3crr_role_for_mybucket_to_myreplica",
"Rules": [
{
"ID": "first replication rule",
"Status": "Enabled",
"Destination": {
"Bucket": "arn:aws:s3:::myreplica"
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
并且不会复制删除。所以这让我觉得我的配置仍然被认为是 V2(即使我没有过滤器)。
那么,有人可以证实这个假设吗?谁能告诉我有什么作用:
在 V2 中,Amazon S3 不复制删除标记,因此您必须将 DeleteMarkerReplication 元素设置为 Disabled
真正的意义?
归档时间: |
|
查看次数: |
5848 次 |
最近记录: |