AWS S3 中是否存在乐观锁定?

XY6*_*XY6 4 amazon-s3 amazon-dynamodb

我在 s3 中有一个 excel 文件。由于不同的程序读取和写入它,我需要保证每个程序都在写入它们读取的版本。

Ale*_*kis 6

S3 只保证新创建对象的读写一致性,以及覆盖和删除对象的最终一致性。如果您的 excel 文件足够小(小于 400kb),您可以将其存储在 DynamoDB 项目的二进制属性中,并对版本属性使用条件更新,以确保文件的读写一致性。否则,如果文件大于 400kb,您可以将文件的每个版本上传到 s3 中的新密钥,然后在版本化的 DynamoDB 项目中跟踪文件最新版本的 s3 URL。


小智 2

自2020年起,AWS强一致,您可以使用标准HTTP标头If-Match来实现乐观锁定。

https://aws.amazon.com/es/blogs/aws/amazon-s3-update-strong-read-after-write-consistency/