カテゴリー
technology

Amazon S3 が Versioning 対応

amazon web services logo
S3がバージョニングに対応したそうです。

New Feature: Amazon S3 now supports Object Versioning
We’ve added beta support for Versioning across all Amazon S3 Regions.
Versioning provides an additional layer of protection for your S3 objects. You can easily recover from unintended user errors or application failures. You can also use Versioning for data retention and archiving. Once you have enabled Versioning for a particular S3 bucket, any operation that would have overwritten an S3 object (PUT, POST, COPY, and DELETE) retains the old version of the object. Here’s a simple diagram of Versioning in action:

S3 Versioned Bucket

同一ファイル名でPUTするとバージョンIDがあがって保存される。今までどおり GET でアクセスすると最新のファイルが、?versionId=バージョンID パラメータ付きで GET すると指定バージョンのファイルが取得できるということですね。

GET /my-image.jpg?versionId=L4kqtJlcpXroDTDmpUMLUo HTTP/1.1

ちなみにバージョンIDは PUT したときに以下のようなヘッダーが返答される以外にもバージョン情報を取得する方法も用意される。

x-amz-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY

参考: Docs: Amazon S3 (API Version 2006-03-01) Deveploer Guide