Hämta sidintervall

Åtgärden Hämta sidintervall returnerar listan över giltiga sidintervall för en sidblob eller ögonblicksbild av en sidblob.

Förfrågan

Begäran Hämta sidintervall 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=pagelist

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

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

Emulerad lagringstjänst-URI

När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och Azure Blob Storage port 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=pagelist HTTP/1.1

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

URI-parametrar

Följande ytterligare parametrar kan anges i begärande-URI:n:

Parameter Beskrivning
marker Valfritt, version 2020-10-02 och senare. Identifierar den del av intervallen som ska returneras med nästa GetPageRanges-åtgärd. Åtgärden returnerar ett markörvärde i svarstexten om de returnerade intervallen var ofullständiga. Markörvärdet kan sedan användas i ett efterföljande anrop för att begära nästa uppsättning intervall.

Markörvärdet är ogenomskinlig för klienten.
maxresults Valfritt, version 2020-10-02 och senare. Anger det maximala antalet sidintervall som ska returneras. Om begäran anger ett värde som är större än 10 000 returnerar servern upp till 10 000 objekt. Om det finns ytterligare resultat att returnera returnerar tjänsten en fortsättningstoken i NextMarker-svarselementet.

Om du anger maxresults ett värde som är mindre än eller lika med noll resulterar det i felsvarskoden 400 (felaktig begäran).
snapshot Valfritt. Ett ogenomskinliga DateTime-värde som, när det finns, anger blobögonblicksbilden för att hämta information från. Mer information om hur du arbetar med blobögonblicksbilder finns i Skapa en ögonblicksbild av en blob.
timeout Valfritt. Uttryckt i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder.
prevsnapshot Valfritt, version 2015-07-08 och senare. Ett DateTime-värde som anger att svaret endast innehåller sidor som har ändrats mellan målbloben och den tidigare ögonblicksbilden. Ändrade sidor innehåller både uppdaterade och rensade sidor. Målbloben kan vara en ögonblicksbild, så länge den ögonblicksbild som anges av prevsnapshot är den äldre av de två.

Obs! Inkrementella ögonblicksbilder stöds för närvarande endast för blobar som skapades den 1 januari 2016 eller senare.

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.
Range Valfritt. Anger det intervall med byte som intervall ska listas över, inklusive. Om Range utelämnas returneras alla intervall för blobben.
x-ms-range Valfritt. Anger det intervall med byte som intervall ska listas över, inklusive. Om både Range och x-ms-range anges använder tjänsten värdet x-ms-range. Mer information finns i Ange intervallrubriken för Blob Storage-åtgärder .
x-ms-lease-id:<ID> Valfritt. Om det här huvudet anges utförs åtgärden endast om båda följande villkor är uppfyllda:

– Blobens lån är för närvarande aktivt.

– Det låne-ID som anges i begäran matchar blobens låne-ID.

Om det här huvudet anges och något av villkoren inte uppfylls misslyckas begäran och åtgärden misslyckas med statuskoden 412 (villkoret misslyckades).
x-ms-previous-snapshot-url Valfritt, version 2019-07-07 och senare. previous-snapshot-url Anger att svaret endast innehåller sidor som har ändrats mellan målbloben och ögonblicksbilden som finns vid den angivna URI:n. Ändrade sidor innehåller både uppdaterade och rensade sidor. Målbloben kan vara en ögonblicksbild, så länge den ögonblicksbild som anges av det här huvudet är äldre av de två.

Obs! Inkrementella ögonblicksbilder stöds för närvarande endast för blobar som skapades den 1 januari 2016 eller senare och som endast ska användas i scenarier med hanterade diskar. Annars använder du parametern prevsnapshot .
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 analysloggarna när Azure Lagringsanalys loggning är aktiverad. Vi rekommenderar starkt att du använder det här huvudet när du korrelerar aktiviteter på klientsidan med begäranden som tas emot av servern. Mer information finns i Om Lagringsanalys loggning och Azure-loggning: Använd loggar för att spåra Azure Storage-begäranden.

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

Begärandetext

Inga.

Svarsåtgärder

Svaret innehåller en HTTP-statuskod, en uppsättning svarshuvuden och svarstexten.

Statuskod

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

Mer 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.

Syntax Description
Last-Modified Datum/tid då bloben senast ändrades. Datumformatet följer RFC 1123.

Alla åtgärder som ändrar bloben, inklusive en uppdatering av blobens metadata eller egenskaper, ändrar blobens senast ändrade tid.
ETag Innehåller ett värde som klienten kan använda för att utföra åtgärden villkorsstyrt. Om begärandeversionen är 2011-08-18 eller senare omges ETag-värdet av citattecken.
x-ms-blob-content-length Storleken på bloben i byte.
x-ms-request-id Identifierar begäran unikt 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 Blob Storage-version som användes för att köra begäran. Den här rubriken returneras för begäranden som har gjorts 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.
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. Om rubriken x-ms-client-request-id inte finns i begäran finns den inte i svaret.

Själva svaret

Svarstexten innehåller en lista över icke-överlappande, giltiga sidintervall, sorterade genom att öka adresssidans intervall. Formatet på svarstexten är följande:

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
</PageList>  

Om blobens hela uppsättning sidor har rensats innehåller inte svarstexten några sidintervall.

Om parametern prevsnapshot har angetts innehåller svaret endast de sidor som skiljer sig mellan målögonblicksbilden eller bloben och den tidigare ögonblicksbilden. De returnerade sidorna innehåller båda sidorna som har uppdaterats eller rensats. Formatet för den här svarstexten är följande:

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <ClearRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </ClearRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
</PageList>  
  

Om blobens hela uppsättning sidor har rensats och parametern prevsnapshot inte har angetts innehåller svarstexten inga sidintervall.

Om parametern maxresults har angetts innehåller svaret endast det angivna antalet intervall med en fortsättningstoken i taggen NextMarker . Fortsättningstoken är tom om det inte finns några fler väntande intervall, eller om den innehåller ett täckande värde som måste skickas som en marker parameter i nästa begäran. Formatet för den här svarstexten är följande:

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <ClearRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </ClearRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>
   <NextMarker/>
</PageList>  
  

Auktorisering

Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden enligt beskrivningen Get Page Ranges 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 hjälp av 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 Page Ranges å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 hjälp av Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.

Kommentarer

Byteförskjutningarna för start och slut för varje sidintervall är inkluderande.

I en mycket fragmenterad sidblob med ett stort antal skrivningar kan en Get Page Ranges begäran misslyckas på grund av en intern servertidsgräns. Program som hämtar intervall för en sidblob med ett stort antal skrivåtgärder bör hämta en delmängd av sidintervall i taget.

Från och med version 2015-07-08 kan du anropa Get Page Ranges med parametern prevsnapshot för att returnera de sidor som skiljer sig mellan basbloben och en ögonblicksbild, eller mellan två ögonblicksbilder av bloben. Genom att använda dessa sidskillnader kan du spara en inkrementell ögonblicksbild av en sidblob. Inkrementella ögonblicksbilder är ett kostnadseffektivt sätt att säkerhetskopiera virtuella datordiskar om du vill implementera din egen säkerhetskopieringslösning.

Om du anropar Get Page Ranges med parametern prevsnapshot returneras sidor som har uppdaterats eller rensats sedan ögonblicksbilden som anges av prevsnapshot togs. Du kan sedan kopiera de sidor som returneras till en säkerhetskopieringssideblob i ett annat lagringskonto med hjälp av Placera sida.

Från och med version 2019-07-07 kan du använda x-ms-previous-snapshot-url rubriken för att ange ögonblicksbilder i hanterade diskkonton för inkrementella ögonblicksbilder. Om du inte använder hanterade diskar använder du frågeparametern prevsnapshot .

Vissa åtgärder på en blob orsakar Get Page Ranges att misslyckas när den anropas för att returnera en inkrementell ögonblicksbild. Get Pages Ranges misslyckas med felkoden 409 (konflikt) om den anropas på en blob som var målet för en Put Blob - eller Copy Blob-begäran efter att ögonblicksbilden som angetts av prevsnapshot togs. Om målet för Get Page Ranges åtgärden i sig är en ögonblicksbild lyckas anropet så länge ögonblicksbilden som anges av prevsnapshot är äldre och ingen Put Blob åtgärd eller Copy Blob anropades i intervallet mellan de två ögonblicksbilderna.

Anteckning

Inkrementella ögonblicksbilder stöds för närvarande endast för blobar som skapades den 1 januari 2016 eller senare. Försök att använda den här funktionen på en äldre blob resulterar i BlobOverwritten felet, som är HTTP-felkod 409 (konflikt).

Se även

Auktorisera begäranden till Azure Storage
Status- och felkoder
Ange tidsgränser för Blob Storage-åtgärder