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操作最終是一致的。數據會在多個地方冗餘存儲,並且每個位置都需要更新。因此,如果您的閱讀碰巧遇到了更新的第一個地方,您會立即看到該操作的效果。如果它擊中另一個節點,更新可能還沒有傳播給它。