Amazon S3 新增条件写入功能

发布于: 2024年11月25日

Amazon S3 现在可以执行条件写入,以在更新之前评估对象是否未被修改。这有助于协调对同一对象的同步写入,并防止多个并发写入器在不知道其内容状态的情况下无意中覆盖该对象。您可以在 S3 通用存储桶和目录存储桶中使用 S3 PutObject 或 CompleteMultipartUpload API 请求提供对象的 ETag 来使用此功能。

条件写入可以简化具有多个客户端的分布式应用程序跨共享数据集并行更新数据的方式。与在创建对象之前使用 HTTP if-none-match 条件标头检查对象是否存在类似,客户端现在可以通过 API 请求中的 HTTP if-match 标头指定对象,来对对象的 Etag((反映对象的更改))执行条件写入检查。然后,在提交写入之前,S3 会评估对象的 ETag 是否与 API 请求中提供的值相匹配,并防止客户端在满足条件之前覆盖对象。这个新的条件标头能可靠地将比较和交换操作转移到 S3,从而帮助提高大规模分析、分布式机器学习和其他高度并行化工作负载的效率。

这项新的条件写入功能已在所有 AWS 区域推出,没有额外费用。您可以使用 AWS SDK、API 或 CLI 执行条件写入。要了解有关条件写入的更多信息,请访问 S3 用户指南