发布于: Nov 25, 2024

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

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

这项新的条件写入功能现已在所有亚马逊云科技区域免费推出,其中包括由光环新网运营的亚马逊云科技中国(北京)区域和由西云数据运营的亚马逊云科技中国(宁夏)区域。您可以使用 Amazon SDK、API 或 CLI 来执行条件写入。要了解有关条件写入的更多信息,请访问 S3 用户指南。