Získat rozsahy stránek

Operace Získat rozsahy stránek vrátí seznam platných rozsahů stránek pro objekt blob stránky nebo snímek objektu blob stránky.

Žádost

Požadavek Get Page Ranges (Získat rozsahy stránek) je možné vytvořit následujícím způsobem. Doporučujeme používat protokol HTTPS. Nahraďte myaccount názvem vašeho účtu úložiště:

Identifikátor URI požadavku metody GET Verze PROTOKOLU HTTP
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

Identifikátor URI služby emulovaného úložiště

Při vytváření požadavku na službu emulovaného úložiště zadejte název hostitele emulátoru a port Azure Blob Storage jako 127.0.0.1:10000 a název emulovaného účtu úložiště:

Identifikátor URI požadavku metody GET Verze PROTOKOLU HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=pagelist HTTP/1.1

Další informace najdete v tématu Použití emulátoru úložiště Azure pro vývoj a testování.

Parametry identifikátoru URI

V identifikátoru URI požadavku je možné zadat následující další parametry:

Parametr Popis
marker Volitelné, verze 2020-10-02 a novější. Identifikuje část rozsahů, které mají být vráceny s další GetPageRanges operace. Operace vrátí hodnotu značky v těle odpovědi, pokud byly vrácené rozsahy neúplné. Hodnotu značky je pak možné použít v následném volání a vyžádat si další sadu rozsahů.

Hodnota značky je pro klienta neprůžná.
maxresults Volitelné, verze 2020-10-02 a novější. Určuje maximální počet rozsahů stránek, které se mají vrátit. Pokud požadavek určuje hodnotu větší než 10 000, server vrátí až 10 000 položek. Pokud existují další výsledky k vrácení, služba vrátí token pokračování v NextMarker response elementu.

Nastavení maxresults na hodnotu, která je menší nebo rovna nule, má za následek kód odpovědi na chybu 400 (Chybný požadavek).
snapshot Nepovinný parametr. Neprůselná hodnota DateTime, která pokud je k dispozici, určuje snímek objektu blob, ze kterého se mají načíst informace. Další informace o práci se snímky objektů blob najdete v tématu Vytvoření snímku objektu blob.
timeout Nepovinný parametr. Vyjádřeno v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Blob Storage.
prevsnapshot Volitelné, verze 2015-07-08 a novější. Hodnota DateTime, která určuje, že odpověď bude obsahovat pouze stránky, které se změnily mezi cílovým objektem blob a předchozím snímkem. Změněné stránky zahrnují aktualizované i nezamazané stránky. Cílovým objektem blob může být snímek, pokud je snímek určený parametrem prevsnapshot starší z těchto dvou.

Poznámka: Přírůstkové snímky se v současné době podporují jenom pro objekty blob vytvořené 1. ledna 2016 nebo později.

Hlavičky požadavku

Následující tabulka popisuje požadované a volitelné hlavičky požadavků.

Hlavička požadavku Popis
Authorization Povinná hodnota. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků do služby Azure Storage.
Date nebo x-ms-date Povinná hodnota. Určuje formát UTC (Coordinated Universal Time). Další informace najdete v tématu Autorizace požadavků do služby Azure Storage.
x-ms-version Povinné pro všechny autorizované žádosti, volitelné pro anonymní žádosti. Určuje verzi operace, která se má pro tento požadavek použít. Další informace najdete v tématu Správa verzí pro služby Azure Storage.
Range Nepovinný parametr. Určuje rozsah bajtů, pro který se mají vypsat rozsahy (včetně). Pokud Range je vynechán, vrátí se všechny rozsahy objektu blob.
x-ms-range Nepovinný parametr. Určuje rozsah bajtů, pro který se mají vypsat rozsahy (včetně). Pokud jsou zadány hodnoty i Rangex-ms-range , služba použije hodnotu x-ms-range. Další informace najdete v tématu Zadání hlavičky rozsahu pro operace blob storage .
x-ms-lease-id:<ID> Nepovinný parametr. Pokud je zadána tato hlavička, operace se provede pouze v případě, že jsou splněny obě následující podmínky:

– Zapůjčení objektu blob je aktuálně aktivní.

– ID zapůjčení zadané v požadavku odpovídá ID zapůjčení objektu blob.

Pokud je tato hlavička zadána a není splněna ani která z těchto podmínek, požadavek selže a operace selže se stavovým kódem 412 (Předběžná podmínka selhala).
x-ms-previous-snapshot-url Volitelné, verze 2019-07-07 a novější. Určuje previous-snapshot-url , že odpověď bude obsahovat pouze stránky, které se změnily mezi cílovým objektem blob a snímkem umístěnými na zadaném identifikátoru URI. Změněné stránky zahrnují aktualizované i nezamazané stránky. Cílovým objektem blob může být snímek, pokud je snímek určený touto hlavičkou starší z těchto dvou.

Poznámka: Přírůstkové snímky jsou v současné době podporovány pouze pro objekty blob vytvořené 1. ledna 2016 nebo později a tato hlavička by se měla používat pouze ve scénářích spravovaných disků. V opačném případě použijte prevsnapshot parametr .
x-ms-client-request-id Nepovinný parametr. Poskytuje klientem vygenerovanou neprůselnou hodnotu s limitem počtu znaků 1 kibibajt (KiB), která se zaznamená do protokolů analýzy, když je povolené protokolování Azure Analýza úložiště. Tuto hlavičku důrazně doporučujeme použít při korelaci aktivit na straně klienta s požadavky přijatými serverem. Další informace najdete v tématu Informace o protokolování Analýza úložiště a Protokolování Azure: Použití protokolů ke sledování požadavků služby Azure Storage.

Tato operace také podporuje použití podmíněných hlaviček k získání rozsahů stránek pouze v případě, že je splněna zadaná podmínka. Další informace najdete v tématu Určení podmíněných hlaviček pro operace služby Blob Storage.

Text požadavku

Žádné

Odpověď

Odpověď obsahuje stavový kód HTTP, sadu hlaviček odpovědi a tělo odpovědi.

Stavový kód

Úspěšná operace vrátí stavový kód 200 (OK).

Další informace o stavových kódech najdete v tématu Kódy stavu a chyb.

Hlavičky odpovědi

Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může také obsahovat další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.

Syntax Description
Last-Modified Datum a čas poslední změny objektu blob. Formát data odpovídá dokumentu RFC 1123.

Každá operace, která upraví objekt blob, včetně aktualizace metadat nebo vlastností objektu blob, změní čas poslední změny objektu blob.
ETag Obsahuje hodnotu, kterou může klient použít k podmíněnému provedení operace. Pokud je verze požadavku 2011-08-18 nebo novější, hodnota ETag je uzavřena v uvozovkách.
x-ms-blob-content-length Velikost objektu blob v bajtech.
x-ms-request-id Jednoznačně identifikuje požadavek, který byl proveden, a lze ho použít k řešení potíží s požadavkem. Další informace najdete v tématu Řešení potíží s operacemi rozhraní API.
x-ms-version Označuje verzi služby Blob Storage, která se použila ke spuštění požadavku. Tato hlavička se vrátí pro požadavky, které byly provedeny proti verzi 2009-09-19 a novější.

Tato hlavička se vrátí také pro anonymní požadavky bez zadané verze, pokud byl kontejner označen pro veřejný přístup pomocí služby Blob Storage verze 2009-09-19.
Date Hodnota data a času UTC vygenerovaná službou, která označuje čas, kdy byla odpověď inicializována.
x-ms-client-request-id Dá se použít k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě x-ms-client-request-id hlavičky, pokud se nachází v požadavku, a hodnota obsahuje maximálně 1 024 viditelných znaků ASCII. Pokud se hlavička x-ms-client-request-id v požadavku nenachází, v odpovědi se nezobrazí.

Text odpovědi

Text odpovědi obsahuje seznam nepřekrývajících se platných rozsahů stránek seřazených podle zvětšení rozsahu adresních stránek. Text odpovědi má následující formát:

<?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>  

Pokud se vymaže celá sada stránek objektu blob, text odpovědi neobsahuje žádné rozsahy stránek.

Pokud jste zadali prevsnapshot parametr, odpověď bude obsahovat jenom stránky, které se liší mezi cílovým snímkem nebo objektem blob a předchozím snímkem. Vrácené stránky zahrnují obě stránky, které byly aktualizovány nebo vymazány. Tento text odpovědi má následující formát:

<?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>  
  

Pokud se vymazala celá sada stránek objektu prevsnapshot blob a nezadá se parametr, tělo odpovědi neobsahuje žádné rozsahy stránek.

maxresults Pokud byl parametr zadán, odpověď bude obsahovat pouze zadaný počet rozsahů s pokračovacím tokenem NextMarker ve značce . Token pokračování je prázdný, pokud neexistují žádné další nevyřízené rozsahy, nebo obsahuje neprůžnou hodnotu, kterou je potřeba odeslat jako marker parametr v dalším požadavku. Tento text odpovědi má následující formát:

<?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>  
  

Autorizace

Autorizace se vyžaduje při volání jakékoli operace přístupu k datům ve službě Azure Storage. Operaci můžete autorizovat Get Page Ranges , jak je popsáno níže.

Azure Storage podporuje autorizaci požadavků na data objektů blob pomocí Microsoft Entra ID. S Microsoft Entra ID můžete pomocí řízení přístupu na základě role v Azure (Azure RBAC) udělit oprávnění k objektu zabezpečení. Objektem zabezpečení může být uživatel, skupina, instanční objekt aplikace nebo spravovaná identita Azure. Objekt zabezpečení ověří Microsoft Entra ID, aby vrátil token OAuth 2.0. Token se pak dá použít k autorizaci požadavku na službu Blob Service.

Další informace o autorizaci pomocí Microsoft Entra ID najdete v tématu Autorizace přístupu k objektům blob pomocí Microsoft Entra ID.

Oprávnění

Níže jsou uvedené akce RBAC nezbytné k volání Get Page Ranges operace Microsoft Entra uživatele, skupiny nebo instančního objektu a předdefinované role Azure RBAC s nejnižšími oprávněními, která tuto akci zahrnuje:

Další informace o přiřazování rolí pomocí Azure RBAC najdete v tématu Přiřazení role Azure pro přístup k datům objektů blob.

Poznámky

Počáteční a koncové posuny bajtů pro každý rozsah stránek jsou inkluzivní.

U vysoce fragmentovaného objektu blob stránky s velkým počtem zápisů Get Page Ranges může požadavek selhat kvůli vypršení časového limitu interního serveru. Aplikace, které načítají rozsahy objektu blob stránky s velkým počtem operací zápisu, by měly najednou načíst podmnožinu rozsahů stránek.

Od verze 2015-07-08 můžete volat Get Page Ranges s parametrem prevsnapshot a vrátit stránky, které se liší mezi základním objektem blob a snímkem, nebo mezi dvěma snímky objektu blob. Pomocí těchto rozdílů mezi stránkami můžete uložit přírůstkový snímek objektu blob stránky. Přírůstkové snímky představují nákladově efektivní způsob zálohování disků virtuálních počítačů, pokud chcete implementovat vlastní řešení zálohování.

Volání Get Page Ranges s parametrem prevsnapshot vrátí stránky, které byly aktualizovány nebo vymazány od pořízení snímku určeného parametrem prevsnapshot . Stránky, které se vrátí, pak můžete zkopírovat do záložního objektu blob stránky v jiném účtu úložiště pomocí možnosti Vložit stránku.

Od verze 2019-07-07 můžete pomocí x-ms-previous-snapshot-url hlavičky určit snímky v účtech spravovaných disků pro přírůstkové snímky. Pokud nepoužíváte spravované disky, použijte prevsnapshot parametr dotazu.

Některé operace u objektu blob způsobují Get Page Ranges selhání, když se volá za účelem vrácení přírůstkového snímku. Get Pages Ranges selže s kódem chyby 409 (Konflikt), pokud je volána u objektu blob, který byl cílem požadavku put blob nebo kopírování objektu blob po pořízení snímku určeného nástrojem prevsnapshot . Pokud je cílem Get Page Ranges operace samotný snímek, volání proběhne úspěšně, pokud je snímek zadaný pomocí prevsnapshot starší a v intervalu mezi těmito dvěma snímky nebyla volána žádná Put Blob operace nebo Copy Blob .

Poznámka

Přírůstkové snímky se v současné době podporují jenom pro objekty blob vytvořené 1. ledna 2016 nebo později. Pokusy o použití této funkce u staršího objektu blob způsobí BlobOverwritten chybu, což je kód chyby HTTP 409 (Konflikt).

Viz také

Autorizace požadavků do Služby Azure Storage
Stavové kódy a kódy chyb
Nastavení časových limitů pro operace služby Blob Storage