在普通文件系统中,使用尝试创建文件的模式是正常的,如果已存在则无法保证创建唯一的文件名。 如何通过S3实现同样的目标:如果我有许多并行任务在S3上创建具有随机名称的密钥,我怎样才能测试和编写"原子地保证机会不会创造一场比赛,我以混乱的数据结束?
由于
答案 0 :(得分:1)
经过几天的思考,我相信我找到了一个非常好的解决方案来解决我自己的问题:在存储桶上激活版本控制并自由保存您想要的密钥名称。从答案中获取versionId并以约定的格式对对象url进行编码(例如s3:// your-bucket / your-key?versionId = XXXXX)。此网址始终指向您想要保存的对象,不会发生冲突/比赛。