Amazon S3 概念2025年3月17日 | 阅读 3 分钟 
- 桶
- 存储桶是用于存储对象的容器。
- 每个对象都包含在存储桶中。
- 例如,如果名为 photos/tree.jpg 的对象存储在 treeimage 存储桶中,则可以使用 URL http://treeimage.s3.amazonaws.com/photos/tree.jpg 进行寻址。
- 一个存储桶对它可以存储的对象数量没有限制。任何存储桶都不能存在于其他存储桶内。
- 无论创建了多少个存储桶,S3 性能保持不变。
- 创建存储桶的 AWS 用户拥有它,并且没有其他 AWS 用户可以拥有它。因此,我们可以说存储桶的所有权不可转移。
- 创建存储桶的 AWS 账户可以删除存储桶,但没有其他 AWS 用户可以删除该存储桶。
- 对象
- 对象是存储在 S3 存储桶中的实体。
- 一个对象由对象数据和元数据组成,其中元数据是一组描述数据的键值对。
- 一个对象包含一些默认元数据,例如最后修改日期和标准 HTTP 元数据,例如内容类型。也可以在存储对象时指定自定义元数据。
- 它通过键和版本 ID 在存储桶中唯一标识。
- 键
- 键是对象的唯一标识符。
- 存储桶中的每个对象都与一个键关联。
- 可以使用存储桶名称、键和可选版本 ID 的组合来唯一标识一个对象。
- 例如,在 URL http://jtp.s3.amazonaws.com/2019-01-31/Amazons3.wsdl 中,"jtp" 是存储桶名称,键是 "2019-01-31/Amazons3.wsdl"
- 区域
- 您可以选择要存储您创建的存储桶的地理区域。
- 选择一个区域的方式是优化延迟、最大限度地降低成本或满足监管要求。
- 除非您明确地将对象转移到另一个区域,否则对象不会离开该区域。
- 数据一致性模型
Amazon S3 将数据复制到多个服务器以实现高可用性。 两种类型的模型- 新对象 PUT 后的读写一致性。
- 对于 PUT 请求,S3 将数据存储在多个服务器上以实现高可用性。
- 一个进程将一个对象存储到 S3,并且可以立即读取该对象。
- 一个进程将一个新对象存储到 S3,它将立即列出存储桶中的键。
- 不需要时间进行传播,更改会立即反映出来。
- 覆盖 PUTS 和 DELETES 的最终一致性
- 对于对象的 PUTS 和 DELETES,更改最终会反映出来,并且它们不会立即可用。
- 如果该进程用新对象替换现有对象,您尝试立即读取它。在更改完全传播之前,S3 可能会返回先前的数据。
- 如果该进程删除现有对象,请立即尝试读取它。在更改完全传播之前,S3 可能会返回已删除的数据。
- 如果该进程删除现有对象,请立即列出存储桶中的所有键。在更改完全传播之前,S3 可能会返回已删除的键的列表。
|