Azure.Storage.Blobs.Specialized 名前空間

クラス

AppendBlobClient

AppendBlobClientでは、Azure Storage の追加 BLOB を操作できます。

追加 BLOB はブロックで構成され、追加操作用に最適化されています。 追加 BLOB を変更すると、ブロックは操作を介して Azure.Storage.Blobs.Specialized.AppendBlobClient.AppendBlockAsync(System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.AppendBlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken) BLOB の末尾にのみ追加されます。 既存のブロックの更新または削除はサポートされていません。 ブロック BLOB とは異なり、追加 BLOB はブロック ID を公開しません。

追加 BLOB 内の各ブロックは、異なるサイズにすることができます。 x-ms-version 2022-11-02 以降では、追加の最大サイズは 100 MB です。 以前のバージョンでは、追加の最大サイズは 4 MB です。 追加 BLOB には、最大 50,000 個のブロックを含めることができます。

BlobBaseClient

BlobBaseClient を使用すると、Azure Storage の BLOB を操作できます。

BlobBatch

BlobBatch 使用すると、 を使用して SubmitBatch(BlobBatch, Boolean, CancellationToken)、1 つの要求で複数の Azure Storage 操作をバッチ処理できます。

詳細については、「 BLOB バッチ

BlobBatchClient

BlobBatchClientでは、1 つの要求で複数の Azure Storage 操作をバッチ処理できます。

BlobLeaseClient

BlobLeaseClientでは、コンテナーと BLOB の Azure Storage リースを操作できます。

BlockBlobClient

BlockBlobClientでは、Azure Storage ブロック BLOB を操作できます。

大きな BLOB は、ブロック BLOB を使用すると効率的にアップロードできます。 ブロック BLOB を構成する各ブロックは、ブロック ID で識別されます。 ブロック BLOB の作成や変更を行うには、一連のブロックを書き込んで、対応するブロック ID によってそれらのブロックをコミットします。 各ブロックのサイズは異なり、最大 4,000 MB (2019-12-12 より前の REST バージョンを使用する要求の場合は 100 MB、2016-05-31 より前の REST バージョンを使用する要求の場合は 4 MB)、ブロック BLOB には最大 50,000 ブロックを含めることができます。 そのため、ブロック BLOB の最大サイズは約 190.73 TiB (4,000 MB X 50,000 ブロック) です。 サイズが 5,000 MB 以下のブロック BLOB を書き込む場合は、1 回の書き込み操作で全体をアップロードできます。を参照してください UploadAsync(Stream, BlobUploadOptions, CancellationToken)

ストレージ アカウント内の BLOB にブロックをアップロードすると、そのブロックは、指定されたブロック BLOB に関連付けられます。ただし、その新しいブロックの ID を含んだ一連のブロックがコミットされるまでは、そのブロックは BLOB に追加されません。 実際にコミットされるか破棄されるまで、新しいブロックはコミットされていない状態のままになります。 ブロックを書き込むだけでは、既存の BLOB の最終更新時刻は更新されません。

ブロック BLOB には、大きなファイルをネットワーク経由で効率よく管理できるという特徴があります。 ブロック BLOB を使用すると、複数のブロックを並列的にアップロードでき、アップロード時間を短縮することができます。 各ブロックには MD5 ハッシュを含めて転送を確認できるため、アップロードの進行状況を追跡し、必要に応じてブロックを再送信できます。ブロックは任意の順序でアップロードし、最終的なブロック リスト コミットメント ステップで順序を決定できます。 新しいブロックをアップロードして、同じブロック ID を持つ、まだコミットされていない既存のブロックを置き換えることもできます。 BLOB にコミットされないまま 1 週間が経過すると、そのブロックは破棄されます。 また、一連のブロックのコミット操作が実行されたときも、その対象に含まれていない未コミットのブロックはすべて破棄されます。

既存のブロック BLOB に変更を加える手段としては、挿入、置換、削除があります。 変更済みのブロック (複数可) をアップロードした後、保存しておく必要のある既存のブロックと併せて新規のブロックをコミットすることによって、BLOB の新しいバージョンをコミットできます。 コミットされた BLOB の 2 つの異なる場所に同じバイト範囲を挿入するには、同じコミット操作内の 2 つの場所で同じブロックをコミットできます。コミット操作の場合、ブロックが見つからない場合、コミットメント操作全体がエラーで失敗し、BLOB は変更されません。 いずれかのブロックがコミットされると、対象の BLOB の既存のプロパティとメタデータが上書きされ、コミットされていないブロックはすべて破棄されます。

ブロック ID は、同じ長さを持つ文字列です。BLOB 内に存在します。 通常、ブロックのクライアント側のコードが、Base 64 エンコード形式を使用して、文字列を同じ長さに正規化します。 Base 64 エンコード形式を使用する場合、エンコード前の文字列長が 64 バイト以下であることが必要です。 ブロック ID の値は、BLOB が異なれば重複してもかまいません。 BLOB には最大 100,000 個のコミットされていないブロックを含めることができます。最大合計サイズは 381.46 TiB (4,000 MB x 100,000 ブロック) です。

存在しない BLOB のブロックを記述すると、長さが 0 バイトの新しいブロック BLOB が作成されます。 この BLOB は、コミット前の BLOB を含んだ BLOB 一覧に反映されます。 この BLOB を 1 つのブロックもコミットせずに放置した場合、BLOB と、その未コミットのブロックは、最後に正常完了したブロック アップロードの 1 週間後に破棄されます。 コミットされていないブロックはすべて、同じ名前の新しい BLOB が 1 つのステップを使用して作成されるときにも破棄されます (2 ステップのブロック upload-then-commit プロセスではなく)。

PageBlobClient

PageBlobClientでは、Azure Storage ページ BLOB を操作できます。

ページ BLOBは、ランダムな読み取りと書き込みの操作用に最適化された 512 バイトのページのコレクションです。 ページ BLOB を作成するには、ページ BLOB を初期化し、ページ BLOB の最大サイズを指定します。 ページ BLOB の内容を追加または更新するには、512 バイトのページ境界に揃える形で、オフセットと範囲を指定してページ (複数可) を書き込みます。 ページ BLOB への書き込みでは、1 ページのみ、複数ページ、または最大 4 MB のページ BLOB を上書きできます。 ページ BLOB への書き込みはインプレースで行われ、BLOB に即座にコミットされます。 ページ BLOB の最大サイズは 8 TB です。

SpecializedBlobClientOptions

Azure Blob Storageに接続するための高度なクライアント構成オプションを提供します。

SpecializedBlobExtensions

インスタンスを作成するためのメソッドを簡単に BlobContainerClient 検出できるように を AppendBlobClient 追加します。