次の方法で共有


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 応答の形式は次のとおりです。

PrefixMarkerMaxResults、および Delimiter 要素は、要求 URI で指定されている場合にのみ存在します。 NextMarker が空の場合、一覧の結果は完了です。 が空 でない場合 、一覧の結果が完全な場合と完全でない場合があります。 すべての BLOB を一覧表示する場合は、NextMarker が空になるまで、後続のマーカー値で List Blobs を呼び出し続けます。

スナップショット、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 以降では、BLOBPut Blob を使用して BLOB をアップロードするときに、Blob Storage によって 値が計算されます。 Put Block Listを使用して BLOB 作成した場合、Blob Storage ではこれを計算しません。 BLOB を作成するとき、または Put Block List を呼び出すか、または BLOB プロパティの設定 操作を 値を明示的に設定できます。

2009-09-19 以降のバージョンでは、バージョン 2015-02-21 より前のバージョンでは、追加 BLOB を含むコンテナーで List Blobs を呼び出すことはできません。 一覧の結果に追加 BLOB が含まれている場合、サービスは状態コード 409 (競合) を返します。

LeaseStateLeaseDuration は、バージョン 2012-02-12 以降でのみ表示されます。

CopyIdCopyStatusCopySourceCopyProgressCopyCompletionTime、および CopyStatusDescription は、この操作に include={copy} パラメーターが含まれているバージョン 2012-02-12 以降でのみ表示されます。 この BLOB が Copy Blob 操作の宛先になっていない場合、これらの要素は表示されません。 Set Blob PropertiesPut 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 以降でも、BlobUrl 要素は削除されました。

バージョン 2015-02-21 以降では、List Blobs はすべての種類の BLOB (ブロック、ページ、および追加 BLOB) を返します。

バージョン 2015-12-11 以降では、List BlobsServerEncrypted 要素を返します。 この要素は、BLOB とアプリケーションのメタデータが完全に暗号化されている場合は true に設定され、それ以外の場合は false

バージョン 2016-05-31 以降では、List Blobs は増分コピー BLOB とスナップショットの IncrementalCopy 要素を返し、値は trueに設定されます。

バージョン 2017-04-17 以降では、アクセス層が明示的に設定されている場合、List BlobsAccessTier 要素を返します。 許可されている Premium ページ BLOB 層の一覧については、「VMの高パフォーマンス Premium Storage とマネージド ディスク」を参照してください。 Blob Storage または汎用 v2 アカウントの場合、有効な値は HotCool、および Archiveです。 BLOB がリハイドレートの保留中の状態にある場合は、有効な値 (rehydrate-pending-to-hotrehydrate-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} パラメーターが含まれている場合、DeletedDeletedTime、および 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 のメタデータにアクセスするには、Get Blob Properties を呼び出すか、顧客が指定したキーを使用して BLOB メタデータ を取得 します。

バージョン 2019-02-02 以降では、BLOB が暗号化スコープで暗号化されている場合、List BlobsEncryptionScope 要素を返します。 値は、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 BlobsLastAccessTime 要素を返します。 この要素は、ストレージ アカウントの最終アクセス時間追跡ポリシーに従って、BLOB のデータが最後にアクセスされた日時を示します。 ストレージ アカウントにこのポリシーがない場合、またはポリシーが無効になっている場合、要素は返されません。 アカウントの最終アクセス時間追跡ポリシーの設定については、Blob Service APIを参照してください。 LastAccessTime 要素は、BLOB のメタデータにアクセスした最後の時刻を追跡しません。

バージョン 2020-06-12 以降では、この操作に include={immutabilitypolicy} パラメーターが含まれている場合、List BlobsImmutabilityPolicyUntilDate 要素と ImmutabilityPolicyMode 要素を返します。

バージョン 2020-06-12 以降では、この操作に include={legalhold} パラメーターが含まれている場合、List BlobsLegalHold 要素を返します。

バージョン 2020-06-12 以降では、階層型名前空間が有効になっているアカウントの場合、List BlobsOwnerGroupPermissions、および 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 はすべての BlobName または BlobPrefixName 要素値を (RFC 2396 に従って) パーセントエンコードします。 具体的には、XML (U+FFFE または U+FFFF) で無効な文字を含む値に対して行われます。 エンコードされた場合、Name 要素には Encoded=true 属性が含まれます。 これは、応答の残りの Name 要素ではなく、XML で無効な文字を含む Name 要素の値に対してのみ発生することに注意してください。

バージョン 2021-06-08 以降では、階層型名前空間が有効になっているアカウントの場合、List BlobsPlaceholder プロパティ要素を返します。 削除された BLOB を区切り記号で一覧表示すると、プレースホルダー ディレクトリの BlobPrefix 要素にこの要素が返されます。 これらのプレースホルダー ディレクトリは、論理的に削除された BLOB へのナビゲーションを容易にするために存在します。

バージョン 2021-06-08 以降では、階層型名前空間が有効になっているアカウントの場合、List BlobsEncryptionContext 要素を返します。 暗号化コンテキストのプロパティ値が設定されている場合は、設定値が返されます。

バージョン 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 の作成時に プロパティを設定することも、[Blob プロパティの設定]呼び出して設定することもできます。 バージョン 2012-02-12 以降では、Put Blob は、Put Blob 要求に MD5 ヘッダーが含まれていない場合でも、ブロック BLOB の MD5 値を設定します。

応答のメタデータ

Metadata 要素は、include=metadata パラメーターが URI に指定されている場合にのみ存在します。 Metadata 要素内では、各名前と値のペアの値は、ペアの名前に対応する要素内に一覧表示されます。

このパラメーターで要求されたメタデータは、2009-09-19 バージョンの Blob Storage によって課される名前付け制限に従って格納する必要があることに注意してください。 このバージョン以降、すべてのメタデータ名は、C# 識別子の名前付け規則に従う必要があります。

メタデータ名と値のペアがこれらの名前付け制限に違反している場合、応答本文は、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 インデックス タグの keyvalue が含まれます。 タグの順序は、応答では保証されません。

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 の代わりに返されます。 要素の値は部分文字列 + 区切り記号。部分文字列 は 1 つ以上の BLOB 名を開始する共通部分文字列であり、区切り記号 パラメーターの値です。

BlobPrefix の値を使用して、後続の呼び出しを行って、このプレフィックスで始まる BLOB を一覧表示できます。 これを行うには、要求 URI の prefix パラメーターに BlobPrefix の値を指定します。

返される各 BlobPrefix 要素は、各 Blob 要素と同様に、最大結果にカウントされることに注意してください。

BLOB は、応答本文のアルファベット順に一覧表示され、先頭に大文字が表示されます。

[状態のコピーの説明] のコピー エラー

CopyStatusDescription には、Copy Blob エラーに関する詳細情報が含まれています。

  • コピーの試行が失敗した場合、Blob Storage がまだ操作を再試行している場合、CopyStatuspending に設定されます。 CopyStatusDescription テキストには、最後のコピー試行中に発生した可能性のあるエラーが記述されています。

  • CopyStatusfailedに設定されている場合、CopyStatusDescription テキストには、コピー操作が失敗した原因となったエラーが記述されます。

次の表では、すべての CopyStatusDescription 値のフィールドについて説明します。

コンポーネント 形容
HTTP 状態コード エラーを指定する標準の 3 桁の整数。
エラー コード エラーを説明するキーワード。 これは、<ErrorCode> 要素で Azure によって提供されます。 <ErrorCode> 要素が表示されない場合、サービスは HTTP 仕様の 3 桁の HTTP 状態コードに関連付けられた標準エラー テキストを含むキーワードを返します。 詳細については、一般的な REST API エラー コードを参照してください。
情報 エラーの詳細な説明 (引用符)。

次の表では、一般的な障害シナリオの CopyStatusCopyStatusDescription の値について説明します。

大事な

ここで示す説明テキストは、バージョンの変更がなくても、警告なしで変更される可能性があります。 この正確なテキストの一致に依存しないでください。

シナリオ 状態の値をコピーする 状態の説明の値をコピーする
コピー操作が正常に完了しました。 成功
ユーザーは、完了する前にコピー操作を中止しました。 中止
コピー操作中にソース 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 の価格に関するページを参照してください。

関連項目

状態とエラー コードの
Blob Storage のエラー コード