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-range fö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:
- Azure RBAC-åtgärd:Microsoft.Storage/storageAccounts/blobServices/containers/blobar/read
- Minst privilegierad inbyggd roll:Storage Blob Data Reader
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