Hämta blockeringslista

Åtgärden Get Block List hämtar listan över block som har laddats upp som en del av en blockblob.

Det finns två blocklister för en blob:

  • Bekräftad blockeringslista: Listan över block som har checkats in till en angiven blob med hjälp av Placera blockeringslista.

  • Ogenomförd blockeringslista: Listan över block som har laddats upp för en blob med hjälp av Placera blockering, men som ännu inte har checkats in. Dessa block lagras i Azure i samband med en blob, men utgör ännu inte en del av bloben.

Du kan anropa Get Block List för att returnera den bekräftade blockeringslistan, den ogenomförda blockeringslistan eller båda listorna. Du kan också anropa den här åtgärden för att hämta den bekräftade blockeringslistan för en ögonblicksbild.

Förfrågan

Begäran Get Block List kan konstrueras på följande sätt. Vi rekommenderar att du använder HTTPS. Ersätt myaccount med namnet på ditt lagringskonto:

URI för GET-metodbegäran HTTP-version
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&versionid=<DateTime>
HTTP/1.1

Emulerad lagringstjänstbegäran

När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och blobtjänstporten som 127.0.0.1:10000, följt av namnet på det emulerade lagringskontot:

URI för GET-metodbegäran HTTP-version
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist HTTP/1.1

Mer information finns i Använda Azurite-emulatorn för lokal Azure Storage-utveckling.

URI-parametrar

Du kan ange följande ytterligare parametrar på begärande-URI:n:

URI-parameter Description
snapshot Valfritt. Parametern snapshot är ett täckande DateTime värde som när den finns anger den bloblista som ska hämtas. Mer information om hur du arbetar med blobögonblicksbilder finns i Skapa en ögonblicksbild av en blob.
versionid Valfritt för versionerna 2019-12-12 och senare. Parametern versionid är ett täckande DateTime värde som, när den finns, anger vilken version av bloben som ska hämtas.
blocklisttype Anger om du vill returnera listan över bekräftade block, listan över ej bekräftade block eller båda listorna tillsammans. Giltiga värden är committed, uncommittedeller all. Om du utelämnar den här parametern Get Block List returneras listan över bekräftade block.
timeout Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder.

Begärandehuvuden

I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.

Begärandehuvud Beskrivning
Authorization Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage.
Date eller x-ms-date Krävs. Anger Coordinated Universal Time (UTC) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage.
x-ms-version Krävs för alla auktoriserade begäranden, valfritt för anonyma begäranden. Anger vilken version av åtgärden som ska användas för den här begäran. Mer information finns i Versionshantering för Azure Storage-tjänsterna.
x-ms-lease-id:<ID> Valfritt. Om det här huvudet anges utförs åtgärden endast om båda följande villkor uppfylls:

– Blobens lån är för närvarande aktivt.
– Låne-ID:t som anges i begäran matchar blobens.

Om det här huvudet anges och något av villkoren inte uppfylls misslyckas begäran och åtgärden misslyckas med statuskod 412 (förhandsvillkoret misslyckades).
x-ms-client-request-id Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggning har konfigurerats. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. Mer information finns i Övervaka Azure Blob Storage.

Den här åtgärden stöder även användning av villkorsstyrda rubriker för att endast köra åtgärden om ett angivet villkor uppfylls. Mer information finns i Ange villkorsstyrda rubriker för Blob Storage-åtgärder.

Begärandetext

Inga.

Exempelbegäran

Följande exempelbegärande-URI returnerar den bekräftade blockeringslistan för en blob med namnet MOV1.avi:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=committed HTTP/1.1

Följande exempelbegärande-URI returnerar både den bekräftade och den ogenomförda blockeringslistan:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=all HTTP/1.1

Följande exempelbegärande-URI returnerar den bekräftade blockeringslistan för en ögonblicksbild. En ögonblicksbild består bara av bekräftade block, så det finns inga ogenomförda block som är associerade med den.

GET http://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=2009-09-30T20%3a11%3a15.2735974Z

Svarsåtgärder

Svaret innehåller en HTTP-statuskod, en uppsättning svarshuvuden och en svarstext som innehåller listan över block.

Statuskod

En lyckad åtgärd returnerar statuskod 200 (OK).

Information om statuskoder finns i Status och felkoder.

Svarshuvuden

Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. Alla standardhuvuden överensstämmer med http/1.1-protokollspecifikationen.

Svarsrubrik Description
Last-Modified Datum/tid då bloben senast ändrades. Datumformatet följer RFC 1123. Mer information finns i Representera datum-/tidsvärden i rubriker. Returneras endast om bloben har checkat in block.

Alla åtgärder som ändrar bloben, inklusive uppdateringar av blobens metadata eller egenskaper, ändrar blobens senaste ändringstid.
ETag ETag för bloben. Returneras endast om bloben har checkat in block.
Content-Type MIME-innehållstypen för bloben. Standardvärdet är application/xml.
x-ms-blob-content-length Storleken på bloben i byte.
x-ms-request-id Det här huvudet identifierar unikt den begäran som har gjorts och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder.
x-ms-version Anger den tjänstversion som användes för att köra begäran. Det här huvudet returneras för begäranden som görs mot version 2009-09-19 och senare.

Det här huvudet returneras också för anonyma begäranden utan en angiven version om containern har markerats för offentlig åtkomst med hjälp av Blob Storage version 2009-09-19. Obs! Endast den bekräftade blockeringslistan kan returneras via en anonym begäran.
Date Ett DATUM-/tidsvärde för UTC som genereras av tjänsten, vilket anger den tid då svaret initierades.
x-ms-client-request-id Kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet x-ms-client-request-id för rubriken om det finns i begäran och värdet inte innehåller fler än 1 024 synliga ASCII-tecken. x-ms-client-request-id Om rubriken inte finns i begäran finns den inte i svaret.

Den här åtgärden stöder också användning av villkorsstyrda rubriker för att endast hämta blocklistan om ett angivet villkor uppfylls. Mer information finns i Ange villkorsstyrda rubriker för Blob Storage-åtgärder.

Själva svaret

Formatet för svarstexten för en begäran som endast returnerar checkade block är följande:

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  <CommittedBlocks>
</BlockList>

Formatet för svarstexten för en begäran som returnerar både bekräftade och ej bekräftade block är följande:


<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
     <Block>
        <Name>base64-encoded-block-id</Name>
        <Size>size-in-bytes</Size>
     </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  </UncommittedBlocks>
 </BlockList>

Exempelsvar

I följande exempel angavs parametern blocklisttype till committed, så endast blobens incheckade block returneras i svaret.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:33:19 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
</BlockList>

I det här exemplet har parametern blocklisttype angetts till all, och både blobbens incheckade och ogenomförda block returneras i svaret.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:35:56 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>BlockId003</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024000</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

I nästa exempel var parametern blocklisttype inställd på all, men bloben har ännu inte checkats in, så elementet CommittedBlocks är tomt.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Wed, 14 Sep 2011 00:40:22 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks />
  <UncommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId003</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

Auktorisering

Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden enligt beskrivningen Get Block List nedan.

Azure Storage stöder användning av Microsoft Entra ID för att auktorisera begäranden till blobdata. Med Microsoft Entra ID kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt. Säkerhetsobjektet kan vara en användare, grupp, programtjänstens huvudnamn eller en hanterad Azure-identitet. Säkerhetsobjektet autentiseras av Microsoft Entra ID för att returnera en OAuth 2.0-token. Token kan sedan användas för att auktorisera en begäran mot Blob-tjänsten.

Mer information om auktorisering med Microsoft Entra ID finns i Auktorisera åtkomst till blobar med Microsoft Entra ID.

Behörigheter

Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra användare, grupp eller tjänstens huvudnamn ska kunna anropa Get Block List åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som innehåller den här åtgärden:

Mer information om hur du tilldelar roller med Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.

Kommentarer

Anropa Get Block List för att returnera listan över block som har checkats in i en blockblob, listan över block som ännu inte har checkats in eller båda listorna. Använd parametern blocklisttype för att ange vilken lista med block som ska returneras. Listan över bekräftade block returneras i samma ordning som de checkades in av åtgärden Put Block List (Placera blocklista).

Du kan använda den obekräftade blocklistan för att avgöra vilka block som saknas i bloben i fall där anrop till Put Block eller Put Block List har misslyckats. Listan över icke-utelämnade block returneras i alfabetisk ordning. Om ett block-ID har laddats upp mer än en gång visas endast det senast uppladdade blocket i listan.

Anteckning

När en blob ännu inte har checkats in returnerar anropet Get Block List med blocklisttype=all de obekräftade blocken och elementet CommittedBlocks är tomt.

Get Block List stöder inte samtidighet när den läser listan över icke-utelämnade block. Anrop till Get Block List var blocklisttype=uncommitted eller blocklisttype=all har en lägre maximal begärandefrekvens än andra läsåtgärder. Mer information om måldataflöde för läsåtgärder finns i Skalbarhets- och prestandamål för Azure Storage.

Från och med version 2019-12-12 kan en blockblob innehålla block på upp till 4 000 mebibyte (MiB). Om du vill skydda program som använder ett signerat 32-bitars heltal för att representera blockstorleken resulterar anrop Get Block List på en blockblob som innehåller ett block som är större än 100 MiB med en REST-version tidigare än 2019-12-12 i statuskod 409 (konflikt).

Get Block List gäller endast för blockblobar. Anrop Get Block List på en sidblob resulterar i statuskod 400 (felaktig begäran).

Get Block List på en arkiverad blockblob misslyckas.

Fakturering

Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via REST-API:et för Blob Storage eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner till exempel tillfaller en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Get Block List begäranden baserat på lagringskontotypen:

Åtgärd Typ av lagringskonto Faktureringskategori
Hämta blockeringslista Premium-blockblob
Standard generell användning v2
Andra åtgärder
Hämta blockeringslista Standard generell användning v1 Läsåtgärder

Mer information om priser för den angivna faktureringskategorin finns i Azure Blob Storage Prissättning.

Se även

Auktorisera begäranden till AzureStorage-status och felkoderBlob Storage-felkoderAnge tidsgränser för Blob Storage-åtgärder