Lista över Blob-lagringsresurser

Blob-tjänste-API:et inkluderar operationer för att lista containrar inom ett konto ( List Containers-operationen ) och blobs inom en container (List Blobs-operationen ). Dessa operationer har några gemensamma egenskaper värda att notera.

En listningsoperation returnerar ett svar som innehåller hela eller delar av den begärda listan. Operationen returnerar enheter i alfabetisk ordning.

Detta ämne innehåller följande underämnen:

Sätt maximala resultat

Hämta delvisa listresultat med markörer

Resultat från filterlistan

Genomgå blob-namnrymden

XML-svarsformat

Apache Arrow-svarsformat

Sätt maximala resultat

För att specificera det maximala antalet resultat som ska returneras i ett enda anrop till en listningsoperation, ange ett värde för parametern maxresults på begäran-URI:n.

Om det maximala antalet resultat inte anges i förfrågan eller om det är fler än 5 000, returnerar servern upp till maximalt 5 000 objekt. Om du anger ett maximalt antal resultat som är mindre än eller lika med noll, returnerar tjänsten statuskod 400 (Bad Request).

Hämta delvisa listresultat med markörer

Första gången listningsoperationen utförs mot en viss resurs kan svaret innehålla alla resultat, eller så kan det innehålla en delmängd av resultaten och ett markörvärde. Markörvärdet kan skickas till nästa anrop för att returnera nästa uppsättning resultat (och sedan nästa) tills listan är komplett och ingen markör returneras.

Markörvärdet returneras som NextMarker. I ett XML-svarNextMarker är ett element i svarets kropp. I ett Apache Arrow List Blobs-svar NextMarker är ett fält i schemametadatan. När NextMarker är tomt är listningen komplett. Värdet av NextMarker är ett strängvärde som är ogenomskinligt för klienten.

För att returnera nästa uppsättning resultat i en efterföljande operation, skicka det returnerade värdet som NextMarkermarker parameter på begärandets URI.

Resultat från filterlistan

Listan med resultat kan filtreras genom att ange en prefixsträng på förfrågan med hjälp av parametern prefix . Listoperationen returnerar sedan de entiteter som har namn som börjar med det prefixet. Om parametern prefix anges på begärandets URI, innehåller svars-XML:en ett Prefix element som innehåller prefixtecknet eller tecknen. Till exempel returnerar <Prefix>``c``</Prefix> en prefix med värdet "c" inom svars-XML:en. För ett exempel, se avsnittet Listbehållare senare i detta ämne.

Genomgå blob-namnrymden

Listblobs-operationen har en extra delimiter parameter som gör det möjligt för anroparen att navigera i blobnamnrymden genom att använda en användarkonfigurerad avgränsare. Avgränsaren kan vara ett enskilt tecken eller en sträng. När begäran innehåller den här parametern returnerar åtgärden ett BlobPrefix element. Elementet BlobPrefix returneras istället för alla blobbar med namn som börjar med samma delsträng upp till att avgränsaren förekommer. Värdet på elementet BlobPrefix är delsträng+avgränsare, där delsträngen är den gemensamma delsträngen som börjar med ett eller flera blobnamn, och avgränsaren är värdet av avgränsarparametern .

Du kan använda värdet BlobPrefix för för att göra ett efterföljande anrop för att lista de blobar som börjar med det här prefixet. Ange värdet av BlobPrefix för efterföljande förfrågningar. På så sätt kan du passera en virtuell hierarki med blobar som om det vore ett filsystem. För ett exempel, se Lista klumpar med avgränsare senare i detta ämne.

Observera att varje BlobPrefix returnerad som återges räknas mot det maximala resultatet.

Tänk också på att du inte kan lista blob-snapshots om du inkluderar en avgränsare i förfrågan. Om du anger ett värde för parametern delimiter och även sätter parametern include=snapshots , returnerar Blob-tjänsten ett InvalidQueryParameter-fel (HTTP-statuskod 400 – Bad Request).

XML-svarsformat

Listutdata är ett XML-dokument vars format liknar de som visas i kodexemplen senare i detta ämne.

Svarskroppen inkluderar värdena för alla parametrar som specificerades på begäran URI som element inom svarskroppen.

Värdet DateTime som returneras i elementet Last-Modified är i RFC 1123-format. För mer information om DateTime värden, se Representation av datum/tid-värden i rubriker.

Lista behållare

Detta exempel visar resultatet av en listningsoperation som returnerar två behållare. Begäran om URI är följande:

GET https://myaccount.blob.core.windows.net/?comp=list&prefix=c&maxresults=3&include=metadata  

Prefixet "c" angavs för att filtrera listan. Det maximala antalet resultat att returnera sattes till 3. Taggen NextMarker visar namnet på behållaren som kommer att returneras vid en efterföljande listningsoperation.

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults AccountName="https://myaccount.blob.core.windows.net/">  
  <Prefix>c</Prefix>  
  <MaxResults>3</MaxResults>  
  <Containers>  
    <Container>  
      <Name>container1</Name>  
      <Url>https://myaccount.blob.core.windows.net/container1</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 18:09:03 GMT</Last-Modified>  
        <Etag>0x8CAE7D0C4AF4487</Etag>  
      </Properties>  
      <Metadata>  
        <Color>orange</Color>  
        <ContainerNumber>01</ContainerNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Container>  
    <Container>  
      <Name>container2</Name>  
      <Url>https://myaccount.blob.core.windows.net/container2</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 17:26:40 GMT</Last-Modified>  
        <Etag>0x8CAE7CAD8C24928</Etag>  
      </Properties>  
      <Metadata>  
        <Color>pink</Color>  
        <ContainerNumber>02</ContainerNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Container>  
    <Container>  
      <Name>container3</Name>  
      <Url>https://myaccount.blob.core.windows.net/container3</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 17:26:40 GMT</Last-Modified>  
        <Etag>0x8CAE7CAD8EAC0BB</Etag>  
      </Properties>  
      <Metadata>  
        <Color>brown</Color>  
        <ContainerNumber>03</ContainerNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Container>  
  </Containers>  
  <NextMarker>container4</NextMarker>  
</EnumerationResults>  

Listblobs och ögonblicksbilder

Detta exempel visar resultatet av en listningsoperation som returnerar blobs och snapshots i en container som heter mycontainer. Begäran om URI är följande:

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&include=snapshots&include=metadata  

Svaret inkluderar både blobs och snapshots:

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ContainerName="https://myaccount.blob.core.windows.net/mycontainer">  
  <Blobs>  
    <Blob>  
      <Name>blob1.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/blob1.txt</Url>  
      <Properties>  
        <Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>  
        <Etag>0x8CBFF45D8A29A19</Etag>  
        <Content-Length>100</Content-Length>  
        <Content-Type>text/html</Content-Type>  
        <Content-Encoding />  
        <Content-Language>en-US</Content-Language>  
        <Content-MD5 />  
        <Cache-Control>no-cache</Cache-Control>  
        <BlobType>BlockBlob</BlobType>  
        <LeaseStatus>unlocked</LeaseStatus>  
      </Properties>  
      <Metadata>  
        <Color>blue</Color>  
        <BlobNumber>01</BlobNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Blob>  
    <Blob>  
      <Name>blob2.txt</Name>  
      <Snapshot>2009-09-09T09:20:03.0427659Z</Snapshot>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt?snapshot=2009-09-09T09%3a20%3a03.0427659Z</Url>  
      <Properties>  
        <Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>  
        <Etag>0x8CBFF45D8B4C212</Etag>  
        <Content-Length>5000</Content-Length>  
        <Content-Type>application/octet-stream</Content-Type>  
        <Content-Encoding>gzip</Content-Encoding>  
        <Content-Language />  
        <Content-MD5 />  
        <Cache-Control />  
        <BlobType>BlockBlob</BlobType>  
      </Properties>  
      <Metadata>  
        <Color>green</Color>  
        <BlobNumber>02</BlobNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
        <x-ms-invalid-name>nasdf$@#$$</x-ms-invalid-name>  
      </Metadata>  
    </Blob>  
    <Blob>  
      <Name>blob2.txt</Name>  
      <Snapshot>2009-09-09T09:20:03.1587543Z</Snapshot>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt?snapshot=2009-09-09T09%3a20%3a03.1587543Z</Url>  
      <Properties>  
        <Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>  
        <Etag>0x8CBFF45D8B4C212</Etag>  
        <Content-Length>5000</Content-Length>  
        <Content-Type>application/octet-stream</Content-Type>  
        <Content-Encoding>gzip</Content-Encoding>  
        <Content-Language />  
        <Content-MD5 />  
        <Cache-Control />  
        <BlobType>BlockBlob</BlobType>  
      </Properties>  
      <Metadata>  
        <Color>green</Color>  
        <BlobNumber>02</BlobNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Blob>  
    <Blob>  
      <Name>blob2.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt</Url>  
      <Properties>  
        <Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>  
        <Etag>0x8CBFF45D8B4C212</Etag>  
        <Content-Length>5000</Content-Length>  
        <Content-Type>application/octet-stream</Content-Type>  
        <Content-Encoding>gzip</Content-Encoding>  
        <Content-Language />  
        <Content-MD5 />  
        <Cache-Control />  
        <BlobType>BlockBlob</BlobType>  
        <LeaseStatus>unlocked</LeaseStatus>  
      </Properties>  
      <Metadata>  
        <Color>green</Color>  
        <BlobNumber>02</BlobNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Blob>  
    <Blob>  
      <Name>blob3.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/blob3.txt</Url>  
      <Properties>  
        <Last-Modified>Wed, 09 Sep 2009 09:20:03 GMT</Last-Modified>  
        <Etag>0x8CBFF45D911FADF</Etag>  
        <Content-Length>16384</Content-Length>  
        <Content-Type>image/jpeg</Content-Type>  
        <Content-Encoding />  
        <Content-Language />  
        <Content-MD5 />  
        <Cache-Control />  
        <x-ms-blob-sequence-number>3</x-ms-blob-sequence-number>  
        <BlobType>PageBlob</BlobType>  
        <LeaseStatus>locked</LeaseStatus>  
      </Properties>  
      <Metadata>  
        <Color>yellow</Color>  
        <BlobNumber>03</BlobNumber>  
        <SomeMetadataName>SomeMetadataValue</SomeMetadataName>  
      </Metadata>  
    </Blob>  
  </Blobs>  
  <NextMarker />   
</EnumerationResults>  

Lista blobs med en avgränsare

Detta exempel visar resultatet av en listningsoperation som returnerar blobs under en container som heter mycontainer. Begäran om URI är följande:

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&delimiter=/&maxresults=4  

I detta fall specificeras parametern delimiter som /. Responskroppen inkluderar taggen BlobPrefix , som representerar gruppen av blobs som börjar med samma delsträng, inklusive avgränsaren.

Provklumparna under behållaren är följande. De första fyra returneras i den första listningsoperationen, eftersom MaxResults är satt till 4. Observera att myfolder/blobA.txt och myfolder/blobB.txt är grupperade tillsammans i svarskroppen i taggen BlobPrefix och räknas som en enda blob i förhållande till antalet returnerade enheter. För att returnera blobs som börjar med detta prefix, gör en efterföljande begäran där prefixparametern sätts till myfolder/.

  • blob1.txt

  • blob2.txt

  • myfolder/blobA.txt

  • myfolder/blobB.txt

  • newblob1.txt

  • newblob2.txt

Nästa blob som returneras är newblob2.txt. Blobnamnet anges i taggen NextMarker .

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ContainerName="https://myaccount.blob.core.windows.net/mycontainer">  
  <MaxResults>4</MaxResults>  
  <Blobs>  
    <Blob>  
      <Name>blob1.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/blob1.txt</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 18:41:57 GMT</Last-Modified>  
        <Etag>0x8CAE7D55D050B8B</Etag>  
        <Content-Length>8</Content-Length>  
        <Content-Type>text/html</Content-Type>  
        <Content-Encoding />  
        <Content-Language>en-US</Content-Language>  
        <Content-MD5 />  
        <Cache-Control>no-cache</Cache-Control>  
        <BlobType>BlockBlob</BlobType>  
        <LeaseStatus>unlocked</LeaseStatus>  
      <Properties>  
    </Blob>  
    <Blob>  
      <Name>blob2.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 12:18:50 GMT</Last-Modified>  
        <Etag>0x8CAE7D55CF6C339</Etag>  
        <Content-Length>100</Content-Length>  
        <Content-Type>text/html</Content-Type>  
        <Content-Encoding />  
        <Content-Language>en-US</Content-Language>  
        <Content-MD5 />  
        <Cache-Control>no-cache</Cache-Control>  
        <BlobType>BlockBlob</BlobType>  
        <LeaseStatus>unlocked</LeaseStatus>  
      </Properties>  
    </Blob>  
    <BlobPrefix>  
      <Name>myfolder/</Name>  
    </BlobPrefix>  
    <Blob>  
      <Name>newblob1.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/mycontainer/newblob1.txt</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 16:31:57 GMT</Last-Modified>  
        <Etag>0x8CAE7D55CF6C339</Etag>  
        <Content-Length>25</Content-Length>  
        <Content-Type>text/html</Content-Type>  
        <Content-Encoding />  
        <Content-Language>en-US</Content-Language>  
        <Content-MD5 />  
        <Cache-Control>no-cache</Cache-Control>  
        <BlobType>BlockBlob</BlobType>  
        <LeaseStatus>unlocked</LeaseStatus>  
      </Properties>  
    </Blob>  
  </Blobs>  
  <NextMarker>newblob2.txt</NextMarker>  
</EnumerationResults>  

Lista blobs i rotbehållaren

För att lista blobs i rotcontainern kan du använda följande URL:

https://myaccount.blob.core.windows.net/$root?restype=container&comp=list&maxresults=10  

Tänk på att när du listar blobsen i rotcontainern innehåller XML-svarskroppen ingen explicit referens till root-containern i blobens URL fält. Här är ett exempelsvar som listar blobs i rotcontainern:

  
<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ContainerName="https://myaccount.blob.core.windows.net/%24root">  
  <MaxResults>10</MaxResults>  
  <Blobs>  
    <Blob>  
      <Name>rootblob1.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/rootblob1.txt</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 18:41:48 GMT</Last-Modified>  
        <Etag>0x8CAE7D55D050B8B</Etag>  
        <Content-Length>25</Content-Length>  
        <Content-Type>text/html</Content-Type>  
        <Content-Encoding />  
        <Content-Language>en-US</Content-Language>  
        <Content-MD5 />  
        <Cache-Control>no-cache</Cache-Control>  
        <BlobType>BlockBlob</BlobType>  
        <LeaseStatus>unlocked</LeaseStatus>  
      </Properties>  
   </Blob>  
    <Blob>  
      <Name>rootblob2.txt</Name>  
      <Url>https://myaccount.blob.core.windows.net/rootblob2.txt</Url>  
      <Properties>  
        <Last-Modified>Sun, 27 Sep 2009 18:45:57 GMT</Last-Modified>  
        <Etag>0x8CAE7D55CF6C339</Etag>  
        <Content-Length>14</Content-Length>  
        <Content-Type>text/plain; charset=UTF-8</Content-Type>  
        <Content-Encoding />  
        <Content-Language>en-US</Content-Language>  
        <Content-MD5 />  
        <Cache-Control>no-cache</Cache-Control>  
        <BlobType>BlockBlob</BlobType>  
        <LeaseStatus>unlocked</LeaseStatus>  
      </Properties>  
    </Blob>  
  </Blobs>  
</EnumerationResults>  
  

Apache Arrow-svarsformat

Från och med version 2026-06-06-06 kan List Blobs-operationen även returnera resultat i Apache Arrow-formatet . Listan Containers-operationen stöder inte Apache Arrow för tillfället.

Note

Apache Arrow-stöd för List Blobs finns för närvarande i offentlig förhandsvisning.

Listutdata är en binär Apache Arrow-ström. Varje exempel i detta ämne visar postbatchen som en tabell där varje rad är en blob eller blobprefix och varje kolumn är ett fält. Tidsstämpelfält, såsom Last-Modified, visas här i ISO 8601-format. Varje tabell följs av NumberOfRecords och NextMarker värden från schemametadatan.

Lista blobs och snapshots i Apache Arrow-format

Detta exempel visar resultatet av en listningsoperation som returnerar blobs och snapshots i en container som heter mycontainer. Begäran om URI är följande:

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&include=snapshots&include=metadata

Svaret inkluderar både blobs och snapshots:

Name ResourceType Snapshot Last-Modified Etag Content-Length Content-Type Content-Encoding Content-Language Cache-Control x-ms-blob-sequence-number BlobType LeaseStatus Metadata
blob1.txt klump noll 2009-09-09T09:20:02Z 0x8CBFF45D8A29A19 100 text/html noll en-US no-cache noll BlockBlob Upplåst {Färg: blå, BlobNumber: 01, SomeMetadataName: SomeMetadataValue}
blob2.txt klump 2009-09-09T09:20:03.0427659Z 2009-09-09T09:20:02Z 0x8CBFF45D8B4C212 5000 application/octet-stream gzip noll noll noll BlockBlob noll {Färg: grön, BlobNumber: 02, SomeMetadataName: SomeMetadataValue, x-ms-invalid-name: nasdf$@#$$}
blob2.txt klump 2009-09-09T09:20:03.1587543Z 2009-09-09T09:20:02Z 0x8CBFF45D8B4C212 5000 application/octet-stream gzip noll noll noll BlockBlob noll {Färg: grön, BlobNumber: 02, SomeMetadataName: SomeMetadataValue}
blob2.txt klump noll 2009-09-09T09:20:02Z 0x8CBFF45D8B4C212 5000 application/octet-stream gzip noll noll noll BlockBlob Upplåst {Färg: grön, BlobNumber: 02, SomeMetadataName: SomeMetadataValue}
blob3.txt klump noll 2009-09-09T09:20:03Z 0x8CBFF45D911FADF 16384 bild/jpeg noll noll noll 3 PageBlob låst {Färg: gul, BlobNumber: 03, SomeMetadataName: SomeMetadataValue}

Schemametadatan innehåller NumberOfRecords = 5 och NextMarker = tom, vilket indikerar att listningen är komplett.

Lista blobbar med avgränsare i Apache Arrow-format

Detta exempel visar resultatet av en listningsoperation som returnerar blobs under en container som heter mycontainer. Begäran om URI är följande:

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&delimiter=/&maxresults=4

I detta fall specificeras parametern delimiter som /. Responskroppen innehåller en post med ResourceType satt till blobprefix, som representerar gruppen av blobs som börjar med samma delsträng, inklusive avgränsaren.

Provklumparna under behållaren är följande. De första fyra returneras i den första listningsoperationen, eftersom MaxResults är satt till 4. Observera att myfolder/blobA.txt och myfolder/blobB.txt är grupperade tillsammans i svarsdelen i posten blobprefix och räknas som en enda blob i förhållande till antalet returnerade enheter. För att returnera blobs som börjar med detta prefix, gör en efterföljande begäran där prefixparametern sätts till myfolder/.

  • blob1.txt

  • blob2.txt

  • myfolder/blobA.txt

  • myfolder/blobB.txt

  • newblob1.txt

  • newblob2.txt

newblob2.txt kommer att vara nästa blob som returneras när opaqueString den skickas som marker parameter i en efterföljande förfrågan.

Name ResourceType Last-Modified Etag Content-Length Content-Type Content-Language Cache-Control BlobType LeaseStatus
blob1.txt klump 2009-09-27T18:41:57Z 0x8CAE7D55D050B8B 8 text/html en-US no-cache BlockBlob Upplåst
blob2.txt klump 2009-09-27T12:18:50Z 0x8CAE7D55CF6C339 100 text/html en-US no-cache BlockBlob Upplåst
myfolder/ blobprefix noll noll noll noll noll noll noll noll
newblob1.txt klump 2009-09-27T16:31:57Z 0x8CAE7D55CF6C339 25 text/html en-US no-cache BlockBlob Upplåst

Schemametadata innehåller NumberOfRecords = 4 och .NextMarker = opaqueString

Se även

Listbehållare
Lista över blobbar
Blob-tjänstekoncept
Versionshantering för Azure Storage-tjänsterna