3

我似乎无法在任何地方找到在线答案。S3方法是否同步?

我正在使用AWS S3 Ruby gem在S3中的对象上调用move_to。移动之后,我立即在新的位置读取S3对象。一旦进入一个蓝色的月球,这段阅读将会抛出一个No Such Key的错误 - 仅仅偶尔一次,可能几千次运行这段代码几次。

任何人都可以确认move_to是同步呼叫吗?如果它不是同步的,在阅读之前如何确保对象存在于新的位置?

+0

答案可能实际上取决于你的bucket的S3区域以及'move_to'的底层动作实际上是否被S3(我怀疑是真实的)创建了一个新对象。我猜桶里有我们的标准吗? – 2014-08-30 17:32:54

回答

4

AWS S3操作最终是一致的。数据会在多个地方冗余存储,并且每个位置都需要更新。因此,如果您的阅读碰巧遇到了更新的第一个地方,您会立即看到该操作的效果。如果它击中另一个节点,更新可能还没有传播给它。