Ruby on rails S3方法是同步的吗?

Ruby on rails S3方法是同步的吗?,ruby-on-rails,ruby-on-rails-3,amazon-web-services,amazon-s3,Ruby On Rails,Ruby On Rails 3,Amazon Web Services,Amazon S3,我似乎在网上找不到这个问题的答案 我正在使用AWS S3 Ruby gem对S3中的对象调用move_to。移动之后,我立即在新位置读取S3对象。偶尔,此读取操作会抛出一个无此类键的错误-- 有人能确认move\u to是一个同步呼叫吗?如果对象不同步,在读取它之前如何确保对象存在于其新位置?AWS S3操作最终是一致的。数据冗余地存储在多个位置,每个位置的更新都需要时间。因此,如果您的读取恰好到达了更新的第一个位置,您将立即看到操作的效果。如果它击中另一个节点,更新可能还没有传播到它。答案实际

我似乎在网上找不到这个问题的答案

我正在使用AWS S3 Ruby gem对S3中的对象调用
move_to
。移动之后,我立即在新位置读取S3对象。偶尔,此读取操作会抛出一个
无此类键的错误--


有人能确认
move\u to
是一个同步呼叫吗?如果对象不同步,在读取它之前如何确保对象存在于其新位置?

AWS S3操作最终是一致的。数据冗余地存储在多个位置,每个位置的更新都需要时间。因此,如果您的读取恰好到达了更新的第一个位置,您将立即看到操作的效果。如果它击中另一个节点,更新可能还没有传播到它。

答案实际上可能取决于您的bucket的S3区域,以及
move\u to
的底层操作是否被认为是S3创建了一个新对象(我怀疑这是真的)。我猜水桶是美国标准的?