web-dev-qa-db-ja.com

AWS s3ファイルをアトミックに置換

環境

  • コマンド./barname.binを使用して、ファイルaws s3 cp ./barname.bin s3://fooname/barname.binをs3にコピーしました

  • 別のファイル./barname.1.binをアップロードしますの代わりにそのファイル


s3://fooname/barname.binにあるファイルを./barname.1.binでアップロードおよび置換(上書き)するにはどうすればよいですか?

目標:

  • ファイルにアクセスするために使用されるs3 URLを変更しないでください(新しいファイルはs3://fooname/barname.binでも利用できるはずです)。
  • ゼロ/最小「ダウンタイム」/ s3リンクの可用性。
23
ThorSummoner

私が理解しているように、s3://fooname/barname.binにある既存のファイルがあり、それを新しいファイルに置き換えたいとします。それを置き換えるには、古いものの上に新しいものをアップロードする必要があります:aws s3 cp ./barname.1.bin s3://fooname/barname.bin

古いファイルは置き換えられます。 S3 docsによると、これはアトミックですが、EC2のレプリケーションパターンにより、キーのリクエストは依然としてしばらくの間、古いファイル。

32
waterproof