web-dev-qa-db-ja.com

aws s3はファイルの上書きとアクセスをどのように処理しますか?

だから私はAmazons3に不慣れで、誰かがこの質問に答えるのを手伝ってくれるかどうか疑問に思っていました。

モバイルアプリを強化するために使用される静的API/JSONファイルのセットがありますが、JSONデータの大部分は静的ですが、更新はいつでもトリガーでき、データが更新され、JSONファイル自体が更新されます。同様に更新されました。

私の質問は、Amazonがアクセスに関してファイルの更新をどのように処理するかということです。つまり、書き込みたいときに誰かがファイルにアクセスしている場合、ファイルはブロックされるか、Amazonの従業員はこれを防ぐためにファイルキャッシュを使用しますか?ハプニング。

ありがとう!

8
proxim0

ブロックされることはありませんが、オブジェクトがすでに存在し、最近置き換えられたか削除された場合は、古いデータを取得できます。

S3は、新しいオブジェクトのPUTSに書き込み後の読み取りの一貫性を提供します。

S3は、PUTSとDELETEの上書きに結果整合性を提供します。これが意味するのは、user1がJSONを置き換えたとしても(1秒未満)、user2が古いバージョンのJSONを取得する可能性があるということです。

8
Dave Maple

S3で実際にオブジェクトを更新することはできません。オブジェクト全体を保存、取得、削除するだけです。オブジェクトの内容を「更新」するには、オブジェクト全体を置き換えます。

クライアントAが置換オブジェクトをアップロードし、そのアップロードが確認される前に、クライアントBが同じオブジェクトキーにアクセスする場合、クライアントBが元のオブジェクトを取得することを期待します。確認応答の後、オブジェクトが完全に配布されて一貫性が保たれる前に、クライアントBは古いオブジェクトまたは新しいオブジェクトを取得する場合があります。その後、クライアントBは新しいオブジェクトを取得します。

6
jarmod