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

Lijstresultaten filteren

Door de blob-naamruimte gaan

XML-antwoordindeling

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