0

在普通文件系统中,尝试创建文件的模式是正常的,如果它已经存在则失败,以保证创建唯一的文件名。如何使用 S3 实现相同的目标:如果我有许多并行任务在 S3 上创建具有随机名称的键,我如何以原子方式“测试和编写”以保证机会不会造成竞争并且我以混乱的数据结束?

谢谢

4

1 回答 1

1

经过几天的思考,我相信我已经找到了一个非常体面的解决我自己问题的方法:在bucket上激活版本控制并自由保存你想要的键名。从答案中获取 versionId 并以约定的格式对对象 url 进行编码(例如 s3://your-bucket/your-key?versionId=XXXXX )。此 url 始终指向您首先要保存的对象,没有冲突/比赛的可能性。

于 2015-09-03T07:32:18.827 回答