BLOB の一覧表示
List Blobs
操作は、指定されたコンテナーの下にある BLOB の一覧を返します。
依頼
List Blobs
要求は次のように構築できます。 HTTPS をお勧めします。 myaccount
方式 | 要求 URI | HTTP バージョン |
---|---|---|
GET |
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list |
HTTP/1.1 |
エミュレートされたストレージ サービス URI
エミュレートされたストレージ サービスに対して要求を行う場合は、エミュレーターのホスト名と Azure Blob Storage ポートを 127.0.0.1:10000
として指定し、その後にエミュレートされたストレージ アカウント名を指定します。
方式 | 要求 URI | HTTP バージョン |
---|---|---|
GET |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list |
HTTP/1.1 |
詳細については、「ローカルの Azure Storage 開発に Azurite エミュレーターを使用する
URI パラメーター
URI には、次の追加パラメーターを指定できます。
パラメーター | 形容 |
---|---|
prefix |
随意。 指定したプレフィックスで始まる名前の BLOB のみを返すように結果をフィルター処理します。 階層型名前空間を持つアカウントでは、ファイルの名前がプレフィックス パスの中央に表示される場合にエラーが発生します。 たとえば、プレフィックス パス folder1/folder2/readme/readmefile.txt を使用して、readmefile.txt という名前の BLOB を見つけようとします。 サブフォルダーに readme という名前のファイルが含まれている場合、エラーが表示されます。 |
delimiter |
随意。 要求にこのパラメーターが含まれている場合、操作は応答本文で BlobPrefix 要素を返します。 この要素は、区切り文字の外観まで、同じ部分文字列で始まる名前を持つすべての BLOB のプレースホルダーとして機能します。 区切り記号には、1 文字または 1 つの文字列を指定できます。 |
marker |
随意。 次のリスト操作で返されるリストの部分を識別する文字列値。 返されたリストが完了していない場合、操作は応答本文内のマーカー値を返します。 その後、後続の呼び出しでマーカー値を使用して、リスト アイテムの次のセットを要求できます。 マーカー値はクライアントに対して不透明です。 |
maxresults |
随意。 返される BLOB の最大数 (すべての BlobPrefix 要素を含む) を指定します。 要求で maxresults を指定しない場合、または 5,000 を超える値を指定した場合、サーバーは最大 5,000 個の項目を返します。 返される追加の結果がある場合、サービスは NextMarker 応答要素で継続トークンを返します。 場合によっては、サービスから返される結果が maxresults よりも少なく、継続トークンも返される場合があります。maxresults を 0 以下の値に設定すると、エラー応答コード 400 (Bad Request) が発生します。 |
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions, deletedwithversions,immutabilitypolicy,legalhold,permissions} |
随意。 応答に含める 1 つ以上のデータセットを指定します。 - snapshots : スナップショットを列挙に含める必要があることを指定します。 スナップショットは、応答の中で最も古いものから最新のものまで一覧表示されます。- metadata : 応答で BLOB メタデータを返すように指定します。- uncommittedblobs : ブロックがアップロードされたが、Put Block Listを使用してコミットされていない BLOB を応答に含めます。- copy : バージョン 2012-02-12 以降。 現在または以前の Copy Blob 操作に関連するメタデータを応答に含める必要があることを指定します。- deleted : バージョン 2017-07-29 以降。 論理的に削除された BLOB を応答に含める必要があることを指定します。 - tags : バージョン 2019-12-12 以降。 ユーザー定義の BLOB インデックス タグを応答に含める必要があることを指定します。 - versions : バージョン 2019-12-12 以降。 BLOB のバージョンを列挙型に含める必要があることを指定します。- deletedwithversions : バージョン 2020-10-02 以降。 任意のバージョン (アクティブまたは削除済み) を持つ削除された BLOB を応答に含める必要があることを指定します。 完全に削除した項目は、ガベージ コレクションによって処理されるまで応答に表示されます。 タグ \<HasVersionsOnly\> と値 true 使用します。 - immutabilitypolicy : バージョン 2020-06-12 以降。 列挙体に、日付までの不変ポリシーと BLOB の不変ポリシー モードを含める必要があることを指定します。- legalhold : バージョン 2020-06-12 以降。 列挙体に BLOB の訴訟ホールドを含める必要があることを指定します。- permissions : バージョン 2020-06-12 以降。 階層型名前空間が有効になっているアカウントでのみサポートされます。 要求にこのパラメーターが含まれている場合、リストされている BLOB またはディレクトリの所有者、グループ、アクセス許可、およびアクセス制御リストが列挙に含まれます。 URI にこれらのオプションを複数指定するには、各オプションを URL でエンコードされたコンマ ("%82") で区切る必要があります。 |
showonly={deleted,files,directories} |
随意。 応答で返される次のいずれかのデータセットを指定します。 - deleted : 省略可能。 バージョン 2020-08-04 以降。 階層型名前空間で有効になっているアカウントに対してのみ。 要求にこのパラメーターが含まれている場合、リストには論理的に削除された BLOB のみが含まれます。 POSIX ACL 承認フォールバックは、論理的に削除された BLOB を一覧表示するためにサポートされていないことに注意してください。
include=deleted も指定されている場合、要求は無効な要求 (400) で失敗します。- files : 省略可能。 バージョン 2020-12-06 以降。 階層型名前空間で有効になっているアカウントに対してのみ。 要求にこのパラメーターが含まれている場合、リストにはファイルのみが含まれます。 - directories : 省略可能。 バージョン 2020-12-06 以降。 階層型名前空間で有効になっているアカウントに対してのみ。 要求にこのパラメーターが含まれている場合、リストにはディレクトリのみが含まれます。 |
timeout |
随意。
timeout パラメーターは秒単位で表されます。 詳細については、「Blob Storage 操作のタイムアウトの設定」を参照してください。 |
要求ヘッダー
次の表では、必須の要求ヘッダーと省略可能な要求ヘッダーについて説明します。
要求ヘッダー | 形容 |
---|---|
Authorization |
必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storageへの要求を承認する」を参照してください。 |
Date または x-ms-date |
必須。 要求の世界協定時刻 (UTC) を指定します。 詳細については、「Azure Storageへの要求を承認する」を参照してください。 |
x-ms-version |
すべての承認された要求には必須、匿名要求の場合は省略可能です。 この要求に使用する操作のバージョンを指定します。 詳細については、Azure Storage サービスのバージョン管理の |
x-ms-client-request-id |
随意。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を持つクライアント生成の不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティと、サーバーが受信する要求を関連付けすることを強くお勧めします。 詳細については、「Monitor Azure Blob Storage」を参照してください。 |
x-ms-upn |
随意。 アカウントに対して階層型名前空間が有効になっていて、要求で include=permissions が指定されている場合にのみ有効です。
true 場合、<所有者>、<グループ>、および <Acl> フィールドで返されるユーザー ID 値は、Microsoft Entra オブジェクト ID からユーザー プリンシパル名に変換されます。
false 場合、値は Microsoft Entra オブジェクト ID として返されます。 既定値は false です。 グループおよびアプリケーション オブジェクト ID は、一意のフレンドリ名を持たないため、変換されません。 |
要求本文
何一つ。
要求のサンプル
サンプル要求については、「 BLOB リソースの列挙」を参照してください。
応答
応答には、HTTP 状態コード、一連の応答ヘッダー、および XML 形式の応答本文が含まれます。
状態コード
操作が成功すると、状態コード 200 (OK) が返されます。 状態コードの詳細については、「状態コードとエラー コードを参照してください。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれます。 応答には、追加の標準 HTTP ヘッダーを含めることもできます。 すべての標準ヘッダーは、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 形容 |
---|---|
Content-Type |
結果を返す形式を指定します。 現在、この値は application/xml です。 |
x-ms-request-id |
このヘッダーは、作成された要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用される Blob Storage のバージョンを示します。 このヘッダーは、バージョン 2009-09-19 以降を使用して行われた要求に対して返されます。 このヘッダーは、2009-09-19 バージョンの Blob Storage を使用してコンテナーがパブリック アクセス用にマークされている場合、バージョンが指定されていない匿名要求にも返されます。 |
Date |
応答が開始された時刻を示す UTC 日付/時刻値。 サービスによってこの値が生成されます。 |
x-ms-client-request-id |
このヘッダーを使用して、要求と対応する応答のトラブルシューティングを行うことができます。 このヘッダーの値は、要求に存在する場合、x-ms-client-request-id ヘッダーの値と同じです。 値は最大 1024 文字の ASCII 文字です。
x-ms-client-request-id ヘッダーが要求に存在しない場合、このヘッダーは応答に存在しません。 |
応答本文
XML 応答の形式は次のとおりです。
Prefix
、Marker
、MaxResults
、および Delimiter
要素は、要求 URI で指定されている場合にのみ存在します。
NextMarker
要素には、リストの結果が完了していない場合にのみ値があります。
スナップショット、BLOB メタデータ、およびコミットされていない BLOB は、要求 URI で include
パラメーターで指定されている場合にのみ、応答に含まれます。
バージョン 2009-09-19 以降では、BLOB のプロパティは Properties
要素内にカプセル化されます。
バージョン 2009-09-19 以降では、List Blobs
は応答本文で次の名前が変更された要素を返します。
Last-Modified
(以前のLastModified
)Content-Length
(以前のSize
)Content-Type
(以前のContentType
)Content-Encoding
(以前のContentEncoding
)Content-Language
(以前のContentLanguage
)
Content-MD5
要素は、バージョン 2009-09-19 以降で作成された BLOB に対して表示されます。 バージョン 2012-02-12 以降では、BLOB
2009-09-19 以降のバージョンでは、バージョン 2015-02-21 より前のバージョンでは、追加 BLOB を含むコンテナーで List Blobs
を呼び出すことはできません。 一覧の結果に追加 BLOB が含まれている場合、サービスは状態コード 409 (競合) を返します。
LeaseState
と LeaseDuration
は、バージョン 2012-02-12 以降でのみ表示されます。
CopyId
、CopyStatus
、CopySource
、CopyProgress
、CopyCompletionTime
、および CopyStatusDescription
は、この操作に include={copy}
パラメーターが含まれているバージョン 2012-02-12 以降でのみ表示されます。 この BLOB が Copy Blob
操作の宛先になっていない場合、これらの要素は表示されません。
Set Blob Properties
、Put Blob
、または Put Block List
を使用して、終了した Copy Blob
操作の後にこの BLOB が変更された場合、要素は表示されません。 これらの要素は、バージョン 2012-02-12 より前の Copy BLOBによって作成された BLOB には表示されません。
バージョン 2013-08-15 以降では、EnumerationResults
要素には BLOB エンドポイントを指定する ServiceEndpoint
属性が含まれています。 この要素には、コンテナーの名前を指定する ContainerName
フィールドも含まれています。 以前のバージョンでは、これら 2 つの属性が ContainerName
フィールドに結合されていました。 バージョン 2013-08-15 以降でも、Blob
の Url
要素は削除されました。
バージョン 2015-02-21 以降では、List Blobs
はすべての種類の BLOB (ブロック、ページ、および追加 BLOB) を返します。
バージョン 2015-12-11 以降では、List Blobs
は ServerEncrypted
要素を返します。 この要素は、BLOB とアプリケーションのメタデータが完全に暗号化されている場合は true
に設定され、それ以外の場合は false
。
バージョン 2016-05-31 以降では、List Blobs
は増分コピー BLOB とスナップショットの IncrementalCopy
要素を返し、値は true
に設定されます。
バージョン 2017-04-17 以降では、アクセス層が明示的に設定されている場合、List Blobs
は AccessTier
要素を返します。 許可されている Premium ページ BLOB 層の一覧については、「VMの高パフォーマンス Premium Storage とマネージド ディスク」を参照してください。 Blob Storage または汎用 v2 アカウントの場合、有効な値は Hot
、Cool
、および Archive
です。 BLOB がリハイドレートの保留中の状態にある場合は、有効な値 (rehydrate-pending-to-hot
、rehydrate-pending-to-cool
、または rehydrate-pending-to-cold
) のいずれかで ArchiveStatus
要素が返されます。 ブロック BLOB の階層化の詳細については、「ホット、クール、アーカイブストレージ層の」を参照してください。
バージョン 2017-04-17 以降では、List Blobs
は Blob Storage または汎用 v2 アカウントの AccessTierInferred
要素を返します。 ブロック BLOB にアクセス層が設定されていない場合、層情報はストレージ アカウントのプロパティから推論され、この値は true
に設定されます。 このヘッダーは、層が account プロパティから推論された場合にのみ存在します。
バージョン 2017-04-17 以降では、List Blobs
は Blob Storage または汎用 v2 アカウントの AccessTierChangeTime
要素を返します。 これは、ブロック BLOB の層が設定された場合にのみ返されます。 詳細については、「ヘッダーの日時値の表現」を参照してください。
バージョン 2017-07-29 以降では、この操作に include={deleted}
パラメーターが含まれている場合、Deleted
、DeletedTime
、および RemainingRetentionDays
が表示されます。 この BLOB が削除されていない場合、これらの要素は表示されません。 これらの要素は、論理的な削除機能が有効になっているときに、DELETE
操作で削除された BLOB またはスナップショットに対して表示されます。
Deleted
要素は、論理的に削除された BLOB とスナップショットの true
に設定されます。
Deleted-Time
は、BLOB が削除された時刻に対応します。
RemainingRetentionDays
は、論理的に削除された BLOB が完全に削除されるまでの日数を示します。
バージョン 2017-11-09 以降では、Creation-Time
はこの BLOB が作成された時刻を返します。
バージョン 2019-02-02 以降では、List Blobs
は、BLOB が顧客指定のキーで暗号化されている場合、CustomerProvidedKeySha256
要素を返します。 値は、BLOB の暗号化に使用されるキーの SHA-256 ハッシュに設定されます。 さらに、操作に include={metadata}
パラメーターが含まれており、顧客が指定したキーで暗号化された BLOB にアプリケーション メタデータが存在する場合、Metadata
要素には Encrypted="true"
属性があります。 この属性は、BLOB に、List Blobs
操作の一部として復号化できないメタデータがあることを示します。 これらの BLOB のメタデータにアクセスするには、
バージョン 2019-02-02 以降では、BLOB が暗号化スコープで暗号化されている場合、List Blobs
は EncryptionScope
要素を返します。 値は、BLOB の暗号化に使用される暗号化スコープの名前に設定されます。 操作に include={metadata}
パラメーターが含まれている場合、BLOB 上のアプリケーション メタデータは透過的に復号化され、Metadata
要素で使用できます。
バージョン 2019-12-12 以降では、オブジェクトが rehydrate pending
状態の場合、List Blobs
は Blob Storage または汎用 v2 アカウントの RehydratePriority
要素を返します。 有効な値は High
と Standard
です。
バージョン 2019-12-12 以降では、List Blobs
は、アカウントでバージョン管理が有効になっているときに、BLOB と生成された BLOB バージョンの VersionId
要素を返します。
バージョン 2019-12-12 以降では、List Blobs
は現在のバージョンの BLOB の IsCurrentVersion
要素を返します。 この値は true
に設定されます。 この要素を使用すると、現在のバージョンと、自動的に生成された読み取り専用のバージョンを区別できます。
バージョン 2019-12-12 以降では、List Blobs
は任意のタグを持つ BLOB の TagCount
要素を返します。
Tags
要素は、この操作に include={tags}
パラメーターが含まれている場合にのみ表示されます。 BLOB にタグがない場合、これらの要素は表示されません。
バージョン 2019-12-12 以降では、List Blobs
は追加 BLOB の Sealed
要素を返します。
Sealed
要素は、追加 BLOB がシールされている場合にのみ表示されます。 追加 BLOB がシールされていない場合、これらの要素は表示されません。
バージョン 2020-02-10 以降では、List Blobs
は LastAccessTime
要素を返します。 この要素は、ストレージ アカウントの最終アクセス時間追跡ポリシーに従って、BLOB のデータが最後にアクセスされた日時を示します。 ストレージ アカウントにこのポリシーがない場合、またはポリシーが無効になっている場合、要素は返されません。 アカウントの最終アクセス時間追跡ポリシーの設定については、Blob Service APIを参照してください。
LastAccessTime
要素は、BLOB のメタデータにアクセスした最後の時刻を追跡しません。
バージョン 2020-06-12 以降では、この操作に include={immutabilitypolicy}
パラメーターが含まれている場合、List Blobs
は ImmutabilityPolicyUntilDate
要素と ImmutabilityPolicyMode
要素を返します。
バージョン 2020-06-12 以降では、この操作に include={legalhold}
パラメーターが含まれている場合、List Blobs
は LegalHold
要素を返します。
バージョン 2020-06-12 以降では、階層型名前空間が有効になっているアカウントの場合、List Blobs
は Owner
、Group
、Permissions
、および Acl
要素を返します。 要求には、include={permissions}
パラメーターが含まれている必要があります。
Acl
要素は、ファイルまたはディレクトリに設定されたアクセス制御リストと既定のアクセス制御リストの組み合わせリストであることに注意してください。
バージョン 2020-06-12 以降では、階層型名前空間が有効になっているアカウントの場合、区切り記号を持つ List Blobs
は、BlobPrefix
要素の Properties
要素を返します。 これは、ディレクトリのプロパティに対応します。
バージョン 2020-08-04 以降では、階層型名前空間が有効になっているアカウントの場合、List Blobs
は削除された BLOB の DeletionId
要素を返します。
DeletionId
は、符号なし 64 ビット識別子です。 この要素は、論理的に削除されたパスを一意に識別し、同じパスを持つ他の削除された BLOB と区別します。
バージョン 2020-10-02 以降では、階層型名前空間が有効になっているアカウントの場合、List Blobs
はパスの ResourceType
プロパティ要素を返します。 これは、file
または directory
のいずれかです。
バージョン 2021-02-12 以降では、List Blobs
はすべての Blob
Name
または BlobPrefix
Name
要素値を (RFC 2396 に従って) パーセントエンコードします。 具体的には、XML (U+FFFE または U+FFFF) で無効な文字を含む値に対して行われます。 エンコードされた場合、Name
要素には Encoded=true
属性が含まれます。 これは、応答の残りの Name
要素ではなく、XML で無効な文字を含む Name
要素の値に対してのみ発生することに注意してください。
バージョン 2021-06-08 以降では、階層型名前空間が有効になっているアカウントの場合、List Blobs
は Placeholder
プロパティ要素を返します。 削除された BLOB を区切り記号で一覧表示すると、プレースホルダー ディレクトリの BlobPrefix
要素にこの要素が返されます。 これらのプレースホルダー ディレクトリは、論理的に削除された BLOB へのナビゲーションを容易にするために存在します。
バージョン 2021-06-08 以降では、階層型名前空間が有効になっているアカウントの場合、List Blobs
は EncryptionContext
要素を返します。 暗号化コンテキストのプロパティ値が設定されている場合は、設定値が返されます。
バージョン 2020-02-10 以降では、階層型名前空間が有効になっているアカウントの場合、List Blobs
は削除された BLOB の Expiry-Time
要素を返します。
Expiry-Time
はファイルの有効期限が切れる時刻であり、有効期限が同じに設定されている場合はファイルに対して返されます。
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="http://myaccount.blob.core.windows.net/" ContainerName="mycontainer">
<Prefix>string-value</Prefix>
<Marker>string-value</Marker>
<MaxResults>int-value</MaxResults>
<Delimiter>string-value</Delimiter>
<Blobs>
<Blob>
<Name>blob-name</name>
<Snapshot>date-time-value</Snapshot>
<VersionId>date-time-vlue</VersionId>
<IsCurrentVersion>true</IsCurrentVersion>
<Deleted>true</Deleted>
<Properties>
<Creation-Time>date-time-value</Creation-Time>
<Last-Modified>date-time-value</Last-Modified>
<Etag>etag</Etag>
<Owner>owner user id</Owner>
<Group>owning group id</Group>
<Permissions>permission string</Permissions>
<Acl>access control list</Acl>
<ResourceType>file | directory</ResourceType>
<Placeholder>true</Placeholder>
<Content-Length>size-in-bytes</Content-Length>
<Content-Type>blob-content-type</Content-Type>
<Content-Encoding />
<Content-Language />
<Content-MD5 />
<Cache-Control />
<x-ms-blob-sequence-number>sequence-number</x-ms-blob-sequence-number>
<BlobType>BlockBlob|PageBlob|AppendBlob</BlobType>
<AccessTier>tier</AccessTier>
<LeaseStatus>locked|unlocked</LeaseStatus>
<LeaseState>available | leased | expired | breaking | broken</LeaseState>
<LeaseDuration>infinite | fixed</LeaseDuration>
<CopyId>id</CopyId>
<CopyStatus>pending | success | aborted | failed </CopyStatus>
<CopySource>source url</CopySource>
<CopyProgress>bytes copied/bytes total</CopyProgress>
<CopyCompletionTime>datetime</CopyCompletionTime>
<CopyStatusDescription>error string</CopyStatusDescription>
<ServerEncrypted>true</ServerEncrypted>
<CustomerProvidedKeySha256>encryption-key-sha256</CustomerProvidedKeySha256>
<EncryptionContext>encryption-context<EncryptionContext>
<EncryptionScope>encryption-scope-name</EncryptionScope>
<IncrementalCopy>true</IncrementalCopy>
<AccessTierInferred>true</AccessTierInferred>
<AccessTierChangeTime>datetime</AccessTierChangeTime>
<DeletedTime>datetime</DeletedTime>
<RemainingRetentionDays>no-of-days</RemainingRetentionDays>
<TagCount>number of tags between 1 to 10</TagCount>
<RehydratePriority>rehydrate priority</RehydratePriority>
<Expiry-Time>date-time-value</Expiry-Time>
</Properties>
<Metadata>
<Name>value</Name>
</Metadata>
<Tags>
<TagSet>
<Tag>
<Key>TagName</Key>
<Value>TagValue</Value>
</Tag>
</TagSet>
</Tags>
<OrMetadata />
</Blob>
<BlobPrefix>
<Name>blob-prefix</Name>
</BlobPrefix>
</Blobs>
<NextMarker />
</EnumerationResults>
応答のサンプル
サンプル応答については、「BLOB リソースの の列挙」を参照してください。
認可
Azure Storage でデータ アクセス操作を呼び出す場合は、承認が必要です。 次の説明に従って、List Blobs
操作を承認できます。
大事な
Microsoft では、マネージド ID で Microsoft Entra ID を使用して、Azure Storage への要求を承認することをお勧めします。 Microsoft Entra ID は、共有キーの承認と比較して優れたセキュリティと使いやすさを提供します。
Azure Storage では、Microsoft Entra ID を使用して BLOB データへの要求を承認できます。 Microsoft Entra ID を使用すると、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、セキュリティ プリンシパルにアクセス許可を付与できます。 セキュリティ プリンシパルには、ユーザー、グループ、アプリケーション サービス プリンシパル、または Azure マネージド ID を指定できます。 セキュリティ プリンシパルは、OAuth 2.0 トークンを返すために Microsoft Entra ID によって認証されます。 その後、トークンを使用して、BLOB サービスに対する要求を承認できます。
Microsoft Entra ID を使用した承認の詳細については、「Microsoft Entra IDを使用して BLOB へのアクセスを承認する」を参照してください。
権限
Microsoft Entra ユーザー、グループ、マネージド ID、またはサービス プリンシパルが List Blobs
操作を呼び出すために必要な RBAC アクションと、このアクションを含む最小特権の組み込み Azure RBAC ロールを次に示します。
Azure RBAC アクション: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read を - 最小特権組み込みロール: ストレージ BLOB データ閲覧者
include=tags
を指定する場合:
Azure RBAC アクション: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read を 最小特権組み込みロール: ストレージ BLOB データ所有者
Azure RBAC を使用したロールの割り当ての詳細については、「BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。
備考
応答の BLOB プロパティ
コミットされていない BLOB を列挙に含める必要がある場合は、BLOB がコミットされるまで設定されないプロパティがあることに注意してください。 応答で一部のプロパティが返されない場合があります。
x-ms-blob-sequence-number
要素は、ページ BLOB に対してのみ返されます。
OrMetadata
要素は、ブロック BLOB に対してのみ返されます。
ページ BLOB の場合、Content-Length
要素で返される値は、BLOB の x-ms-blob-content-length
ヘッダーの値に対応します。
Content-MD5
要素は、バージョン 2009-09-19 以降を使用して BLOB に設定されている場合にのみ、応答本文に表示されます。 BLOB の作成時に Put Blob
は、Put Blob
要求に MD5 ヘッダーが含まれていない場合でも、ブロック BLOB の MD5 値を設定します。
応答のメタデータ
Metadata
要素は、include=metadata
パラメーターが URI に指定されている場合にのみ存在します。
Metadata
要素内では、各名前と値のペアの値は、ペアの名前に対応する要素内に一覧表示されます。
このパラメーターで要求されたメタデータは、2009-09-19 バージョンの Blob Storage によって課される名前付け制限に従って格納する必要があることに注意してください。 このバージョン以降、すべてのメタデータ名は、
メタデータ名と値のペアがこれらの名前付け制限に違反している場合、応答本文は、x-ms-invalid-name
要素内の問題のある名前を示します。 次の XML フラグメントは、これを示しています。
…
<Metadata>
<MyMetadata1>first value</MyMetadata1>
<MyMetadata2>second value</MyMetadata2>
<x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>
</Metadata>
…
応答内のタグ
Tags
要素は、include=tags
パラメーターが URI で指定された場合、および BLOB にタグがある場合にのみ存在します。
TagSet
要素内では、最大 10 個の Tag
要素が返され、それぞれにユーザー定義の BLOB インデックス タグの key
と value
が含まれます。 タグの順序は、応答では保証されません。
BLOB にタグがない場合、Tags
要素と TagCount
要素は返されません。
ストレージ サービスは、BLOB とそのタグの間で強力な整合性を維持しますが、最終的にはセカンダリ インデックスに一貫性があります。 タグは、Find Blobs by Tags
操作に表示される前に、List Blobs
への応答で表示できます。
応答のスナップショット
include=snapshots
パラメーターが URI で指定されている場合にのみ、スナップショットが応答に一覧表示されます。 スナップショットはアクティブなリースを持つことができないため、応答に一覧表示されるスナップショットには LeaseStatus
要素は含まれません。
サービス バージョン 2021-06-08 以降を使用すると、区切り記号で List Blobs
を呼び出し、列挙体にスナップショットを含めることができます。 2021-06-08 より前のサービス バージョンの場合、両方を含む要求は InvalidQueryParameter エラー (HTTP 状態コード 400 – 無効な要求) を返します。
応答内のコミットされていない BLOB
コミットされていない BLOB は、include=uncommittedblobs
パラメーターが URI で指定された場合にのみ、応答に一覧表示されます。 応答に一覧表示されているコミットされていない BLOB には、次の要素は含まれません。
Last-Modified
Etag
Content-Type
Content-Encoding
Content-Language
Content-MD5
Cache-Control
Metadata
応答で削除された BLOB
削除された BLOB は、include=deleted
パラメーターが URI で指定された場合にのみ、応答に一覧表示されます。 削除された BLOB はアクティブなリースを持つことができないため、応答に一覧表示されている削除された BLOB には Lease 要素は含まれません。
URI に include=deleted,snapshot
が指定されている場合、削除されたスナップショットはリスト応答に含まれます。
応答のオブジェクト レプリケーション メタデータ
OrMetadata
要素は、オブジェクト レプリケーション ポリシーが BLOB で評価され、List Blobs
呼び出しがバージョン 2019-12-12 以降を使用して行われた場合に存在します。
OrMetadata
要素内では、各名前と値のペアの値は、ペアの名前に対応する要素内に一覧表示されます。 名前の形式は or-{policy-id}_{rule-id}
です。ここで、{policy-id}
はストレージ アカウントのオブジェクト レプリケーション ポリシー識別子を表す GUID です。
{rule-id}
は、ストレージ コンテナーのルール識別子を表す GUID です。 有効な値は、complete
または failed
です。
…
<OrMetadata>
<or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>complete</or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>
<or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>failed</or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>
</OrMetadata>
…
応答の不変ポリシー
ImmutabilityPolicyUntilDate
要素と ImmutabilityPolicyMode
要素は、include=immutabilitypolicy
パラメーターが URI に指定されている場合にのみ存在します。
<Properties>
<ImmutabilityPolicyUntilDate>date-time-value</ImmutabilityPolicyUntilDate>
<ImmutabilityPolicyMode>unlocked | locked </ImmutabilityPolicyMode>
</Properties>
対応における訴訟ホールド
LegalHold
要素は、include=legalhold
パラメーターが URI に指定されている場合にのみ存在します。
<Properties>
<LegalHold>true | false </LegalHold>
</Properties>
マーカー値を使用して結果セットを返す
maxresults
パラメーターの値を指定し、返す BLOB の数がこの値を超えているか、maxresults
の既定値を超えている場合、応答本文には NextMarker
要素が含まれます。 この要素は、後続の要求で返される次の BLOB を示します。 場合によっては、返される結果の数が maxresults
の値より少ない場合でも、サービスから NextMarker
要素が返されることがあります。
次の項目セットを返すには、後続の要求の URI のマーカー パラメーターとして NextMarker
の値を指定します。
NextMarker
の値は不透明として扱う必要があることに注意してください。
区切り記号を使用して BLOB 名前空間を走査する
delimiter
パラメーターを使用すると、呼び出し元はユーザーが構成した区切り記号を使用して BLOB 名前空間を走査できます。 この方法では、BLOB の仮想階層を、ファイル システムであるかのように走査できます。 区切り記号には、1 文字または 1 つの文字列を指定できます。
要求にこのパラメーターが含まれている場合、操作は BlobPrefix
要素を返します。
BlobPrefix
要素は、区切り文字の外観まで、同じ部分文字列で始まる名前を持つすべての BLOB の代わりに返されます。
BlobPrefix
の値を使用して、後続の呼び出しを行って、このプレフィックスで始まる BLOB を一覧表示できます。 これを行うには、要求 URI の prefix
パラメーターに BlobPrefix
の値を指定します。
返される各 BlobPrefix
要素は、各 Blob
要素と同様に、最大結果にカウントされることに注意してください。
BLOB は、応答本文のアルファベット順に一覧表示され、先頭に大文字が表示されます。
[状態のコピーの説明] のコピー エラー
CopyStatusDescription
には、Copy Blob
エラーに関する詳細情報が含まれています。
コピーの試行が失敗した場合、Blob Storage がまだ操作を再試行している場合、
CopyStatus
はpending
に設定されます。CopyStatusDescription
テキストには、最後のコピー試行中に発生した可能性のあるエラーが記述されています。CopyStatus
がfailed
に設定されている場合、CopyStatusDescription
テキストには、コピー操作が失敗した原因となったエラーが記述されます。
次の表では、すべての CopyStatusDescription
値のフィールドについて説明します。
コンポーネント | 形容 |
---|---|
HTTP 状態コード | エラーを指定する標準の 3 桁の整数。 |
エラー コード | エラーを説明するキーワード。 これは、<ErrorCode> 要素で Azure によって提供されます。
<ErrorCode> 要素が表示されない場合、サービスは HTTP 仕様の 3 桁の HTTP 状態コードに関連付けられた標準エラー テキストを含むキーワードを返します。 詳細については、一般的な REST API エラー コード |
情報 | エラーの詳細な説明 (引用符)。 |
次の表では、一般的な障害シナリオの CopyStatus
と CopyStatusDescription
の値について説明します。
大事な
ここで示す説明テキストは、バージョンの変更がなくても、警告なしで変更される可能性があります。 この正確なテキストの一致に依存しないでください。
シナリオ | 状態の値をコピーする | 状態の説明の値をコピーする |
---|---|---|
コピー操作が正常に完了しました。 | 成功 | 空 |
ユーザーは、完了する前にコピー操作を中止しました。 | 中止 | 空 |
コピー操作中にソース BLOB から読み取るときにエラーが発生しました。 操作が再試行されます。 | ペンディング | 502 BadGateway "ソースの読み取り時に再試行可能なエラーが発生しました。 再試行します。 失敗時刻: <時間>" |
コピー操作のコピー先 BLOB への書き込み中にエラーが発生しました。 操作が再試行されます。 | ペンディング | 500 InternalServerError "再試行可能なエラーが発生しました。 再試行します。 失敗時刻: <時間>" |
コピー操作のソース BLOB からの読み取り時に回復不能なエラーが発生しました。 | 失敗 しました | 404 ResourceNotFound "ソースの読み取り時にコピーに失敗しました。"サービスがこの基になるエラーを報告すると、<ErrorCode> 要素内の ResourceNotFound が返されます。
<ErrorCode> 要素が応答に表示されない場合は、http 状態の標準文字列表現 (NotFound など) が表示されます。 |
すべてのコピー操作を制限するタイムアウト期間が経過しました。 (現在、タイムアウト期間は 2 週間です)。 | 失敗 しました | 500 OperationCancelled "コピーが最大許容時間を超えました。" |
コピー操作は、ソースからの読み取り時に頻繁に失敗し、成功に対する試行の最小比率を満たしませんでした。 (このタイムアウトにより、失敗する前に 2 週間にわたって非常に貧弱なソースを再試行できなくなります)。 | 失敗 しました | 500 OperationCancelled "ソースの読み取り時にコピーに失敗しました。" |
請求
価格要求は、Blob Storage API を使用するクライアントから、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリから送信できます。 これらの要求には、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに発生します。 次の表に、ストレージ アカウントの種類に基づく List Blobs
要求の課金カテゴリを示します。
操作 | ストレージ アカウントの種類 | 課金カテゴリ |
---|---|---|
BLOB の一覧表示 | Premium ブロック BLOB 標準汎用 v2 標準汎用 v1 |
コンテナー操作の一覧表示と作成 |
指定された課金カテゴリの価格については、Azure Blob Storage の価格