Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
Haal gedeeltelijke lijstresultaten op met markers
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