Lijst van Blob-opslagbronnen

De Blob service API bevat bewerkingen voor het vermelden van de containers binnen een account (de List Containers-operatie ) en de blobs binnen een container (de List Blobs-operatie ). Deze bewerkingen hebben enkele gemeenschappelijke kenmerken die het vermelden waard zijn.

Een listingoperatie geeft een antwoord terug dat de gehele of een deel van de gevraagde lijst bevat. De operatie geeft entiteiten in alfabetische volgorde terug.

Dit onderwerp bevat de volgende subonderwerpen:

Stel maximale resultaten in

Haal gedeeltelijke lijstresultaten op met markers

Resultaten van filterlijsten

Doorloop de blob-naamruimte

XML-responsformaat

Apache Arrow-responsformaat

Stel maximale resultaten in

Om het maximale aantal resultaten te specificeren dat in één enkele aanroep naar een listingoperatie moet worden teruggegeven, specificeer je een waarde voor de maxresults parameter op de verzoek-URI.

Als het maximale aantal resultaten niet is gespecificeerd in het verzoek of als het hoger is dan 5.000, levert de server tot het maximum van 5.000 items. Als je een maximaal aantal resultaten opgeeft van minder dan of gelijk aan nul, geeft de service statuscode 400 (Bad Request) terug.

Haal gedeeltelijke lijstresultaten op met markers

De eerste keer dat de listingoperatie wordt uitgevoerd op een bepaalde bron, kan de respons alle resultaten bevatten, of een deelverzameling van de resultaten en een markerwaarde. De markerwaarde kan worden doorgegeven aan de volgende aanroep om de volgende set resultaten terug te geven (en daarna de volgende) totdat de lijst compleet is en er geen marker wordt teruggegeven.

De markerwaarde wordt teruggegeven als NextMarker. In een XML-responsNextMarker is een element in het responslichaam. In een Apache Arrow List Blobs-antwoord NextMarker is een veld in de schemametadata. Wanneer NextMarker leeg is, is de vermelding compleet. De waarde van NextMarker is een stringwaarde die ondoorzichtig is voor de client.

Om de volgende set resultaten in een volgende operatie terug te geven, geeft u de teruggegeven NextMarker waarde door als parameter marker op de verzoek-URI.

Resultaten van filterlijsten

De lijst met resultaten kan worden gefilterd door een prefixstring op het verzoek te specificeren met behulp van de prefix parameter. De lijstoperatie geeft vervolgens de entiteiten terug die namen hebben die met dat voorvoegsel beginnen. Als de prefix parameter is opgegeven op de verzoek-URI, bevat de respons-XML een Prefix element met het prefixteken of de tekens. Bijvoorbeeld, het specificeren van een prefix met de waarde "c" levert <Prefix>``c``</Prefix> binnen de respons-XML. Zie bijvoorbeeld de sectie Lijstcontainers later in dit onderwerp.

Doorloop de blob-naamruimte

De List Blobs-operatie heeft een extra delimiter parameter waarmee de aanroeper door de blob-naamruimte kan lopen met behulp van een door de gebruiker geconfigureerde scheidingsteken. Het scheidingsteken kan één teken of een tekenreeks zijn. Wanneer de aanvraag deze parameter bevat, retourneert de bewerking een BlobPrefix element. Het BlobPrefix element wordt teruggegeven in plaats van alle blobs met namen die beginnen met dezelfde substring tot aan het verschijnen van het scheidingsteken. De waarde van het BlobPrefix element is substring+delimiter, waarbij substring de gemeenschappelijke substring is die één of meer blobnamen begint, en delimiter de waarde van de delimiterparameter is.

U kunt de waarde van BlobPrefix gebruiken om een volgende aanroep te maken om de blobs weer te geven die met dit voorvoegsel beginnen. Specificeer de waarde van BlobPrefix voor volgende verzoeken. Op deze manier kunt u een virtuele hiërarchie van blobs doorlopen alsof het een bestandssysteem was. Voor een voorbeeld, zie Lijst blobs met een scheidingsteken later in dit onderwerp.

Let op dat elke BlobPrefix teruggegeven opbrengst meetelt voor het maximale resultaat.

Houd er ook rekening mee dat je geen blob-snapshots kunt vermelden als je een scheidingsteken bij het verzoek voegt. Als je een waarde voor de delimiter parameter specificeert en ook de include=snapshots parameter instelt, geeft de Blob-service een InvalidQueryParameter-fout terug (HTTP-statuscode 400 – Bad Request).

XML-responsformaat

De lijstoutput is een XML-document waarvan het formaat lijkt op dat in de codevoorbeelden later in dit onderwerp.

De responsbody bevat de waarden van alle parameters die op de request URI zijn gespecificeerd als elementen binnen de response body.

De DateTime waarde die in het Last-Modified element wordt teruggegeven, is in RFC 1123-formaat. Voor meer informatie over DateTime waarden, zie Representatie van datum/tijd-waarden in headers.

Containers weergeven

Dit voorbeeld toont het resultaat van een listing-operatie die twee containers teruggeeft. De verzoek-URI is als volgt:

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

Het voorvoegsel "c" werd opgegeven om de lijst te filteren. Het maximale aantal resultaten dat terugkwam werd ingesteld op 3. De NextMarker tag toont de naam van de container die bij een volgende vermeldingsoperatie zal worden teruggestuurd.

<?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>  

Lijstblobs en snapshots

Dit voorbeeld toont het resultaat van een listing-operatie die blobs en snapshots teruggeeft in een container genaamd mycontainer. De verzoek-URI is als volgt:

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

De reactie omvat zowel de blobs als 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>  

List blobs met een scheidingsteken

Dit voorbeeld toont het resultaat van een listingoperatie die blobs teruggeeft onder een container genaamd mycontainer. De verzoek-URI is als volgt:

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

In dit geval wordt de delimiter parameter gespecificeerd als /. Het responslichaam bevat de BlobPrefix tag, die de groep blobs vertegenwoordigt die beginnen met dezelfde substring, inclusief de scheidingsteken.

De monsterklontjes onder de container zijn als volgt. De eerste vier worden teruggegeven in de eerste listingoperatie, omdat MaxResults is ingesteld op 4. Let op dat myfolder/blobA.txt en myfolder/blobB.txt samen zijn gegroepeerd in de responsbody in de BlobPrefix tag en als één enkele blob tellen in termen van het aantal teruggestuurde entiteiten. Om de blobs terug te geven die met dit prefix beginnen, doe je een volgend verzoek waarbij de prefixparameter wordt ingesteld op myfolder/.

  • blob1.txt

  • blob2.txt

  • myfolder/blobA.txt

  • myfolder/blobB.txt

  • newblob1.txt

  • newblob2.txt

De volgende blob die wordt teruggegeven is newblob2.txt. De naam van de blob wordt in de NextMarker tag vermeld.

<?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>  

Lijst blobs in de root container

Om blobs in de rootcontainer te vermelden, kun je de volgende URL gebruiken:

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

Houd er rekening mee dat wanneer je de blobs in de root container vermeldt, de XML-responsbody geen expliciete verwijzing naar de root container in het URL veld van de blob bevat. Hier is een voorbeeldantwoord dat blobs in de root container vermeldt:

  
<?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-responsformaat

Vanaf versie 2026-06-06 kan de Lijst Blobs-operatie ook resultaten teruggeven in het Apache Arrow-formaat . De List Containers-operatie ondersteunt op dit moment geen Apache Arrow.

Note

Apache Arrow-ondersteuning voor List Blobs is momenteel in openbare preview.

De lijstoutput is een binaire Apache Arrow-stroom. Elk voorbeeld in dit onderwerp toont de recordbatch als een tabel waarin elke rij een blob of blobprefix is en elke kolom een veld. Tijdstempelvelden, zoals Last-Modified, worden hier weergegeven in ISO 8601-formaat. Elke tabel wordt gevolgd door de NumberOfRecords en NextMarker waarden uit de schemametadata.

Lijst blobs en snapshots in Apache Arrow-formaat

Dit voorbeeld toont het resultaat van een listing-operatie die blobs en snapshots teruggeeft in een container genaamd mycontainer. De verzoek-URI is als volgt:

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

De reactie omvat zowel de blobs als 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 blob nul 2009-09-09T09:20:02Z 0x8CBFF45D8A29A19 100 text/html nul en-US no-cache nul BlockBlob Ontgrendeld {Kleur: blauw, BlobNumber: 01, SomeMetadataName: SomeMetadataValue}
blob2.txt blob 2009-09-09T09:20:03.0427659Z 2009-09-09T09:20:02Z 0x8CBFF45D8B4C212 5000 application/octet-stream gzip nul nul nul BlockBlob nul {Kleur: groen, BlobNumber: 02, SomeMetadataName: SomeMetadataValue, x-ms-invalid-name: nasdf$@#$$}
blob2.txt blob 2009-09-09T09:20:03.1587543Z 2009-09-09T09:20:02Z 0x8CBFF45D8B4C212 5000 application/octet-stream gzip nul nul nul BlockBlob nul {Kleur: groen, BlobNumber: 02, SomeMetadataName: SomeMetadataValue}
blob2.txt blob nul 2009-09-09T09:20:02Z 0x8CBFF45D8B4C212 5000 application/octet-stream gzip nul nul nul BlockBlob Ontgrendeld {Kleur: groen, BlobNumber: 02, SomeMetadataName: SomeMetadataValue}
blob3.txt blob nul 2009-09-09T09:20:03Z 0x8CBFF45D911FADF 16384 image/jpeg nul nul nul 3 PageBlob op slot {Kleur: geel, BlobNumber: 03, SomeMetadataName: SomeMetadataValue}

De schemametadata bevat NumberOfRecords = 5 en NextMarker = leeg, wat aangeeft dat de vermelding voltooid is.

Lijst blobs met een scheidingsteken in Apache Arrow-formaat

Dit voorbeeld toont het resultaat van een listingoperatie die blobs teruggeeft onder een container genaamd mycontainer. De verzoek-URI is als volgt:

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

In dit geval wordt de delimiter parameter gespecificeerd als /. Het responslichaam bevat een record met ResourceType gezet op blobprefix, dat de groep blobs vertegenwoordigt die beginnen met dezelfde deelstring, inclusief de scheidingsteken.

De monsterklontjes onder de container zijn als volgt. De eerste vier worden teruggegeven in de eerste listingoperatie, omdat MaxResults is ingesteld op 4. Let op dat myfolder/blobA.txt en myfolder/blobB.txt samen zijn gegroepeerd in de responsbody in het blobprefix record en als één enkele blob tellen qua aantal teruggestuurde entiteiten. Om de blobs terug te geven die met dit prefix beginnen, doe je een volgend verzoek waarbij de prefixparameter wordt ingesteld op myfolder/.

  • blob1.txt

  • blob2.txt

  • myfolder/blobA.txt

  • myfolder/blobB.txt

  • newblob1.txt

  • newblob2.txt

newblob2.txt zal de volgende blob zijn die wordt teruggegeven wanneer opaqueString deze als parameter marker wordt doorgegeven in een volgende aanvraag.

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

De schemametadata bevat NumberOfRecords = 4 en .NextMarker = opaqueString

Zie ook

Containers weergeven
Lijst met blobs
Blob-serviceconcepten
Versiebeheer voor de Azure Storage-diensten