Amazon S3 Express One Zone 现在支持将数据附加到对象的功能
这是 Amazon S3 的首次:现在可以将数据附加到存储桶中的现有对象,而以前唯一支持的操作是以原子方式用更新版本替换对象。
这仅适用于 S3 Express One Zone,这是一年前推出的存储桶类别,仅在单个可用区域中提供存储,以减少冗余和更高的价格为代价提供显着更低的延迟(16c/GB/月2.3c 适用于 S3 标准层)。
多可用区 S3 从未支持追加,这一事实为底层架构提供了一个有趣的线索。保证对象的每个副本都已接收并应用附加比对新版本进行分布式原子交换要困难得多。
文档中的更多详细信息:
对于可以附加到对象的数据没有最小大小要求。但是,在单个请求中可以附加到对象的数据的最大大小为 5GB。这与使用任何 Amazon S3 API 上传数据时的最大请求大小相同。
每次成功的追加操作都会创建对象的一部分,每个对象最多可以有 10,000 个部分。这意味着您最多可以将数据附加到对象 10,000 次。如果使用 S3 分段上传创建对象,则每个上传的部分都会计入最大 10,000 个部分的总数中。例如,您最多可以向由 1,000 个部分组成的分段上传创建的对象追加 9,000 次。
10,000 个限制意味着这对于不断追加到存储桶中的日志文件来说不太适用。
据推测,可以使用 HTTP Range 标头“尾随”正在接收附加更新的对象。
原文: https://simonwillison.net/2024/Nov/22/amazon-s3-append-data/#atom-everything