Dela via


Hämta sidintervall

Åtgärden Hämta sidintervall returnerar listan över giltiga sidintervall för en sidblob eller en ö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 det emulerade lagringskontonamnet:

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 på 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 täckande 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 täckande 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 bloben.
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-rangeför . 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 uppfylls:

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

– Låne-ID:t som anges i begäran matchar låne-ID:t för bloben.

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-previous-snapshot-url Valfritt, version 2019-07-07 och senare. previous-snapshot-url anger att svaret endast ska innehålla sidor som har ändrats mellan målbloben och ögonblicksbilden som finns på den angivna URI:n. Ändrade sidor innehåller både uppdaterade och rensade sidor. Målbloben kan vara en ögonblicksbild, förutsatt att den ögonblicksbild som anges av den här rubriken ä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ända 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 statuskod 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 senaste ändringstid.
ETag Innehåller ett värde som klienten kan använda för att utföra åtgärden villkorligt. 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 som gjordes 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. Det här huvudet returneras för begäranden som gjordes 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 UTC-datum/tid-värde 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 huvudet 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 visas den inte i svaret.

Själva svaret

Svarstexten innehåller en lista över icke-överlappande, giltiga sidintervall, sorterade genom att öka adresssidans intervall. Formatet för 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 svarstexten inga sidintervall.

Om parametern prevsnapshot har angetts innehåller svaret bara de sidor som skiljer sig mellan målögonblicksbilden eller bloben och den tidigare ögonblicksbilden. De returnerade sidorna innehåller båda sidor 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, annars innehåller den 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.

Viktigt

Microsoft rekommenderar att du använder Microsoft Entra ID med hanterade identiteter för att auktorisera begäranden till Azure Storage. Microsoft Entra ID ger överlägsen säkerhet och användarvänlighet jämfört med auktorisering av delad nyckel.

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, hanterad identitet eller tjänstens huvudnamn ska anropa Get Page Ranges åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som inkluderar 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

Förskjutningarna för start- och slutbyte 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 tidsgräns för servern. 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 blobben. Med hjälp av 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 en egen säkerhetskopieringslösning.

Anropa Get Page Ranges med parametern prevsnapshot returnerar 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 huvudet 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 fel 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 har tagits. 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 eller Copy Blob åtgärd Put 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 felet BlobOverwritten , vilket ä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