BLOB のスナップショットを作成する
BLOB スナップショットは、1 つの時点で取得される BLOB の読み取り専用バージョンです。 スナップショットを作成した後は、読み取り、コピー、または削除できますが、変更することはできません。 スナップショットは、特定の時点に表示される BLOB をバックアップする方法を提供します。
BLOB のスナップショットには、スナップショットの取得元となるベース BLOB と同じ名前が付いており、スナップショットが取得された時間を示す DateTime
値が付加されています。 たとえば、ページ BLOB URI が の場合、http://storagesample.core.blob.windows.net/mydrives/myvhd
スナップショット URI は のようになりますhttp://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z
。 この値を使用して、その他の操作のためにスナップショットを参照できます。 BLOB のスナップショットは BLOB の URI を共有し、この DateTime
値によってのみ区別されます。
BLOB に対するスナップショットの数に制限はありません。 スナップショットは、明示的に削除されるまで保持されます。 スナップショットはソース BLOB を上回ることはできません。 BLOB に関連付けられたスナップショットを列挙して、現在のスナップショットを追跡することができます。
プロパティの継承
BLOB のスナップショットを作成すると、システム プロパティは次のように同じ値でスナップショットにコピーされます。
- ContentType
- ContentEncoding
- ContentLanguage
- 長さ
- CacheControl
- ContentMd5
ベース BLOB に関連付けられているリースは、スナップショットにコピーされません。 スナップショットをリースすることはできません。
スナップショットのコピー
BLOB やスナップショットに関連するコピー操作は次のルールに従います。
スナップショットをベース BLOB にコピーします。 スナップショットをベース BLOB に昇格することにより、BLOB を以前のバージョンに復元できます。 スナップショットは元のままですが、スナップショットのソースは読み取りおよび書き込みできるコピーによって上書きされます。
スナップショットは、別の名前の宛先 BLOB にコピーできます。 結果の宛先 BLOB は書き込み可能な BLOB であり、スナップショットではありません。
コピー元 BLOB をコピーしても、コピー元 BLOB のスナップショットはコピー先にコピーされません。 コピー先 BLOB がコピーによって上書きされると、コピー先 BLOB に関連付けられているスナップショットは、その名前の下にそのまま残ります。
ブロック BLOB のスナップショットを作成する場合、BLOB のコミットされたブロック リストもスナップショットにコピーされます。 コミット前のブロックはコピーされません。
アクセス条件の指定
アクセス条件を指定して、その条件が満たされた場合にのみスナップショットが作成されるようにすることができます。 指定した条件が満たされない場合、スナップショットは作成されません。Azure Blob Storage は状態コード HTTPStatusCode.PreconditionFailed を返します。 詳細については、「 スナップショット BLOB」を参照してください。
スナップショットの削除
スナップショットを含む BLOB は、スナップショットも削除されない限り削除できません。 スナップショットは個別に削除することも、ソース BLOB を削除するときにすべてのスナップショットを削除することもできます。 スナップショットが残っている BLOB を削除しようとすると、呼び出しでエラーが返されます。
関連項目
Snapshot Blob
Put Block
Put Block List
Put Page
Delete Blob
BLOB ストレージ リソースの一覧表示
スナップショットの料金の計上方法について