S3 对象具有覆盖 PUTS 和 DELETES 的最终一致性,如此处所述 - http://aws.amazon.com/s3/faqs/#What_data_consistency_model_does_Amazon_S3_employ
这是否适用于 S3 对象和元数据或对象的元数据在写入后读取一致?
S3 对象具有覆盖 PUTS 和 DELETES 的最终一致性,如此处所述 - http://aws.amazon.com/s3/faqs/#What_data_consistency_model_does_Amazon_S3_employ
这是否适用于 S3 对象和元数据或对象的元数据在写入后读取一致?
S3 对象(或数据)和元数据都遵循相同的一致性模型。
来自http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html:
“对象是存储在 Amazon S3 中的基本实体。对象由对象数据和元数据组成。数据部分对 Amazon S3 是不透明的。”
由于一致性模型是关于对象(而不是对象数据),所以元数据也符合模型。
不,并非总是如此。就像对象数据一样,对象元数据有时是最终一致的,而不是强一致的。
从S3 一致性模型的快速解释中 复制的其余答案
-- codeburst.io 博客文章 2018-02-10
文档说:
Amazon S3 为所有区域的 S3 存储桶中的新对象的 PUTS 提供写后读一致性,但有一点需要注意。需要注意的是,如果您在创建对象之前对键名发出 HEAD 或 GET 请求(以查找对象是否存在),Amazon S3 会为写入后读取提供最终一致性。
注意“警告”。
这意味着您可以观察到以下事件序列:
GET /key-prefix/cool-file.jpg 404
PUT /key-prefix/cool-file.jpg 200
GET /key-prefix/cool-file.jpg 404
或者这个:
PUT /key-prefix/cool-file.jpg 200
PUT /key-prefix/cool-file.jpg 200 (new content)
GET /key-prefix/cool-file.jpg 200 (old content returned)
这不是强烈一致的。