Lista bloblagringsresurser
BLOB-tjänst-API:et innehåller åtgärder för att visa containrar i ett konto (åtgärden Listcontainrar ) och blobarna i en container ( åtgärden Listblobar ). Dessa åtgärder har några vanliga funktioner som är värda att notera.
En listningsåtgärd returnerar ett XML-svar som innehåller hela eller delar av den begärda listan. Åtgärden returnerar entiteter i alfabetisk ordning.
Det här avsnittet innehåller följande underavsnitt:
Hämta partiella listresultat med markörer
Ange maximalt resultat
Om du vill ange det maximala antalet resultat som ska returneras i ett enda anrop till en listningsåtgärd anger du ett värde för parametern maxresults
på begärande-URI:n.
Om det maximala antalet resultat inte anges i begäran eller om det är större än 5 000 returnerar servern upp till högst 5 000 objekt. Om du anger ett maximalt antal resultat på mindre än eller lika med noll returnerar tjänsten statuskoden 400 (felaktig begäran).
Hämta partiella listresultat med markörer
Första gången liståtgärden utförs mot en viss resurs kan svaret innehålla alla resultat eller innehålla en delmängd av resultaten och ett markörvärde. Markörvärdet kan skickas till det efterföljande anropet för att returnera nästa uppsättning resultat (och sedan nästa) tills listan är klar och ingen markör returneras.
Markörvärdet ingår i elementet NextMarker
i XML-svaret. När elementet NextMarker
är tomt är listan klar. Värdet NextMarker
för är ett strängvärde som är ogenomskinlig för klienten.
Om du vill returnera nästa uppsättning resultat i en efterföljande åtgärd skickar du värdet som returneras i taggen NextMarker
som parameter på marker
begärande-URI:n.
Filtrera listresultat
Listan med resultat kan filtreras genom att ange en prefixsträng för begäran med hjälp av parametern prefix
. Liståtgärden returnerar sedan de entiteter som har namn som börjar med prefixet. Om parametern prefix
anges i begärande-URI:n innehåller svars-XML ett Prefix
element som innehåller prefixtecknet eller tecknen. Om du till exempel anger ett prefix med värdet "c" returneras <Prefix>``c``</Prefix>
i svars-XML:en. Ett exempel finns i avsnittet Lista containrar senare i det här avsnittet.
Bläddra i blobnamnområdet
Åtgärden Listblobar har ytterligare delimiter
en parameter som gör det möjligt för anroparen att bläddra i blobnamnområdet med hjälp av 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 i stället för alla blobar med namn som börjar med samma delsträng upp till avgränsartecknets utseende. Värdet för elementet BlobPrefix
är substring+delimiter, där delsträng är den vanliga understrängen som börjar ett eller flera blobnamn, och avgränsare är värdet för 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 BlobPrefix
för för efterföljande begäranden. På så sätt kan du bläddra i en virtuell hierarki med blobar som om det vore ett filsystem. Ett exempel finns i Lista blobar med en avgränsare senare i det här avsnittet.
Observera att varje BlobPrefix
som returneras räknas mot det maximala resultatet.
Tänk också på att du inte kan lista blobögonblicksbilder om du inkluderar en avgränsare med begäran. Om du anger ett värde för parametern delimiter
och även anger parametern include=snapshots
returnerar Blob-tjänsten ett InvalidQueryParameter-fel (HTTP-statuskod 400 – Felaktig begäran).
XML-svarsformat
Listutdata är ett XML-dokument vars format liknar dem som visas i kodexemplen senare i det här avsnittet.
Svarstexten innehåller värdena för alla parametrar som angavs i begärande-URI:n som element i svarstexten.
Värdet DateTime
som returneras i elementet Last-Modified
är i RFC 1123-format. Mer information om DateTime
värden finns i Representation av datum/tid-värden i rubriker.
Visa en lista med containrar
Det här exemplet visar resultatet av en liståtgärd som returnerar två containrar. Begärande-URI:n är följande:
GET https://myaccount.blob.core.windows.net/?comp=list&prefix=c&maxresults=3&include=metadata
Prefixet "c" har angetts för att filtrera listan. Det maximala antalet resultat som ska returneras har angetts till 3. Taggen NextMarker
visar namnet på containern som ska returneras vid en efterföljande listningsåtgärd.
<?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>
Lista blobar och ögonblicksbilder
Det här exemplet visar resultatet av en liståtgärd som returnerar blobar och ögonblicksbilder i en container med namnet mycontainer. Begärande-URI:n är följande:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&include=snapshots&include=metadata
Svaret innehåller både blobar och ögonblicksbilder:
<?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 blobar med en avgränsare
Det här exemplet visar resultatet av en liståtgärd som returnerar blobar under en container med namnet mycontainer. Begärande-URI:n är följande:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&delimiter=/&maxresults=4
I det här fallet anges parametern delimiter
som /
. Svarstexten innehåller taggen BlobPrefix
, som representerar gruppen med blobar som börjar med samma understräng, inklusive avgränsare.
Exempelblobarna under containern är följande. De första fyra returneras i den första listningsåtgärden, eftersom MaxResults
är inställd på 4. Observera att myfolder/blobA.txt och myfolder/blobB.txt grupperas tillsammans i svarstexten i taggen BlobPrefix
och räknas som en enda blob när det gäller antalet returnerade entiteter. Om du vill returnera blobarna som börjar med det här prefixet gör du en efterföljande begäran där prefixparametern är inställd på myfolder/.
blob1.txt
blob2.txt
myfolder/blobA.txt
myfolder/blobB.txt
newblob1.txt
newblob2.txt
Nästa blob som ska 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 blobar i rotcontainern
Om du vill lista blobar 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 blobarna i rotcontainern innehåller XML-svarstexten inte någon explicit referens till rotcontainern i blobens URL
fält. Här är ett exempelsvar som visar blobar 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>
Se även
Lista containrar
Lista blobar
Blob Service-koncept
Versionshantering för Azure Storage-tjänsterna