Blob Storage-resources weergeven
De Blob-service-API bevat bewerkingen voor het weergeven van de containers in een account (de bewerking List Containers ) en de blobs in een container (de bewerking List Blobs ). Deze bewerkingen hebben enkele algemene functies die het vermelden waard zijn.
Een vermeldingsbewerking retourneert een XML-antwoord dat de aangevraagde lijst geheel of gedeeltelijk bevat. De bewerking retourneert entiteiten in alfabetische volgorde.
Dit onderwerp bevat de volgende subonderwerpen:
Maximum aantal resultaten instellen
Gedeeltelijke lijstresultaten ophalen met markeringen
Maximum aantal resultaten instellen
Als u het maximum aantal resultaten wilt opgeven dat moet worden geretourneerd in één aanroep van een vermeldingsbewerking, geeft u een waarde op voor de maxresults
parameter op de aanvraag-URI.
Als het maximum aantal resultaten niet is opgegeven in de aanvraag of als het groter is dan 5000, retourneert de server maximaal 5000 items. Als u een maximum aantal resultaten opgeeft van minder dan of gelijk aan nul, retourneert de service statuscode 400 (Ongeldige aanvraag).
Gedeeltelijke lijstresultaten ophalen met markeringen
De eerste keer dat de vermeldingsbewerking wordt uitgevoerd op een bepaalde resource, bevat het antwoord mogelijk alle resultaten of bevat het een subset van de resultaten en een markeringswaarde. De markeringswaarde kan worden doorgegeven aan de volgende aanroep om de volgende set resultaten te retourneren (en vervolgens de volgende) totdat de lijst is voltooid en er geen markering wordt geretourneerd.
De markeringswaarde is opgenomen in het NextMarker
element van het XML-antwoord. Wanneer het NextMarker
element leeg is, is de vermelding voltooid. De waarde van NextMarker
is een tekenreekswaarde die ondoorzichtig is voor de client.
Als u de volgende set resultaten in een volgende bewerking wilt retourneren, geeft u de waarde die in de NextMarker
tag wordt geretourneerd door als de marker
parameter op de aanvraag-URI.
Lijstresultaten filteren
De lijst met resultaten kan worden gefilterd door een tekenreeks voor het voorvoegsel op te geven voor de aanvraag met behulp van de prefix
parameter . De lijstbewerking retourneert vervolgens de entiteiten met namen die beginnen met dat voorvoegsel. Als de prefix
parameter is opgegeven in de aanvraag-URI, bevat de antwoord-XML een Prefix
element dat het voorvoegselteken of tekens bevat. Als u bijvoorbeeld een voorvoegsel met de waarde 'c' opgeeft, wordt dit geretourneerd <Prefix>``c``</Prefix>
in de antwoord-XML. Zie de sectie Containers weergeven verderop in dit onderwerp voor een voorbeeld.
Door de blob-naamruimte gaan
De bewerking List Blobs heeft een extra delimiter
parameter waarmee de aanroeper door de blob-naamruimte kan gaan met behulp van een door de gebruiker geconfigureerd 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 geretourneerd in plaats van alle blobs met namen die beginnen met dezelfde subtekenreeks tot het uiterlijk van het scheidingsteken. De waarde van het BlobPrefix
element is subtekenreeks+scheidingsteken, waarbij subtekenreeks de algemene subtekenreeks is waarmee een of meer blobnamen worden gestart en scheidingsteken de waarde van de parameter voor het scheidingsteken is.
U kunt de waarde van BlobPrefix
gebruiken om een volgende aanroep te maken om de blobs weer te geven die beginnen met dit voorvoegsel. Geef de waarde van BlobPrefix
op voor volgende aanvragen. Op deze manier kunt u een virtuele hiërarchie van blobs doorkruisen alsof het een bestandssysteem is. Zie Lijst met blobs met een scheidingsteken verderop in dit onderwerp voor een voorbeeld.
Houd er rekening mee dat elke BlobPrefix
geretourneerde waarde mee telt voor het maximale resultaat.
Houd er ook rekening mee dat u geen blob-momentopnamen kunt weergeven als u een scheidingsteken bij de aanvraag opneemt. Als u een waarde opgeeft voor de delimiter
parameter en ook de include=snapshots
parameter instelt, retourneert de Blob-service de fout InvalidQueryParameter (HTTP-statuscode 400 – Ongeldige aanvraag).
XML-antwoordindeling
De uitvoer van de lijst is een XML-document waarvan de indeling vergelijkbaar is met de indeling die wordt weergegeven in de codevoorbeelden verderop in dit onderwerp.
De hoofdtekst van het antwoord bevat de waarden van alle parameters die zijn opgegeven in de aanvraag-URI als elementen in de antwoordtekst.
De DateTime
waarde die in het element wordt geretourneerd, heeft de Last-Modified
indeling RFC 1123. Zie Weergave van datum/tijd-waarden in kopteksten voor meer informatie over DateTime
waarden.
Containers weergeven
In dit voorbeeld ziet u het resultaat van een vermeldingsbewerking die twee containers retourneert. De aanvraag-URI is als volgt:
GET https://myaccount.blob.core.windows.net/?comp=list&prefix=c&maxresults=3&include=metadata
Het voorvoegsel 'c' is opgegeven om de lijst te filteren. Het maximum aantal te retourneren resultaten is ingesteld op 3. De NextMarker
tag toont de naam van de container die wordt geretourneerd bij een volgende vermeldingsbewerking.
<?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>
Blobs en momentopnamen weergeven
In dit voorbeeld ziet u het resultaat van een vermeldingsbewerking die blobs en momentopnamen retourneert in een container met de naam mycontainer. De aanvraag-URI is als volgt:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&include=snapshots&include=metadata
Het antwoord bevat zowel de blobs als momentopnamen:
<?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>
Blobs met een scheidingsteken weergeven
In dit voorbeeld ziet u het resultaat van een vermeldingsbewerking die blobs retourneert onder een container met de naam mycontainer. De aanvraag-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 opgegeven als /
. De antwoordtekst bevat de BlobPrefix
tag, die de groep blobs vertegenwoordigt die begint met dezelfde subtekenreeks, inclusief het scheidingsteken.
De voorbeeld-blobs onder de container zijn als volgt. De eerste vier worden geretourneerd in de eerste vermeldingsbewerking, omdat MaxResults
is ingesteld op 4. Houd er rekening mee dat myfolder/blobA.txt en myfolder/blobB.txt zijn gegroepeerd in de antwoordtekst in de BlobPrefix
tag en tellen als één blob in termen van het aantal geretourneerde entiteiten. Als u de blobs wilt retourneren die beginnen met dit voorvoegsel, doet u een volgende aanvraag waarin de parameter voor het voorvoegsel is ingesteld op myfolder/.
blob1.txt
blob2.txt
myfolder/blobA.txt
myfolder/blobB.txt
newblob1.txt
newblob2.txt
De volgende blob die moet worden geretourneerd , isnewblob2.txt. De blobnaam wordt opgegeven in de NextMarker
tag.
<?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>
Blobs in de hoofdcontainer weergeven
Als u blobs in de hoofdcontainer wilt weergeven, kunt u de volgende URL gebruiken:
https://myaccount.blob.core.windows.net/$root?restype=container&comp=list&maxresults=10
Houd er rekening mee dat wanneer u de blobs in de hoofdcontainer weer geeft, de XML-antwoordtekst geen expliciete verwijzing bevat naar de hoofdcontainer in het veld van URL
de blob. Hier volgt een voorbeeldantwoord met een lijst met blobs in de hoofdcontainer:
<?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>
Zie ook
Containers weergeven
Blobs weergeven
Concepten van Blob service
Versiebeheer voor de Azure Storage-services