Získat seznam blokovaných položek

Operace Get Block List načte seznam bloků, které se nahrály jako součást objektu blob bloku.

Pro objekt blob se uchovávají dva seznamy blokovaných objektů:

  • Seznam potvrzených bloků: Seznam bloků, které byly úspěšně potvrzeny do zadaného objektu blob pomocí příkazu Vložit seznam blokovaných bloků.

  • Nepotvrzený seznam bloků: Seznam bloků, které se nahrály pro objekt blob pomocí příkazu Vložit blok, ale které ještě nebyly potvrzeny. Tyto bloky se ukládají v Azure ve spojení s objektem blob, ale zatím nejsou součástí objektu blob.

Voláním můžete Get Block List vrátit seznam potvrzených blokovaných, nepotvrzený seznam blokovaných nebo oba seznamy. Můžete také volat tuto operaci a načíst potvrzený seznam blokovaných snímků.

Žádost

Požadavek Get Block List může být vytvořen následujícím způsobem. Doporučujeme použít 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=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

Žádost o službu 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 služby Blob Service jako 127.0.0.1:10000a potom 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=blocklist HTTP/1.1

Další informace najdete v tématu Použití emulátoru Azurite pro místní vývoj služby Azure Storage.

Parametry identifikátoru URI

V identifikátoru URI požadavku můžete zadat následující další parametry:

Parametr identifikátoru URI Description
snapshot Nepovinný parametr. Parametr snapshot je neprůselná DateTime hodnota, která pokud je k dispozici, určuje seznam objektů blob, který se má načíst. Další informace o práci se snímky objektů blob najdete v tématu Vytvoření snímku objektu blob.
versionid Volitelné pro verze 2019-12-12 a novější. Parametr versionid je neprůselná DateTime hodnota, která při výskytu určuje verzi objektu blob, která se má načíst.
blocklisttype Určuje, zda se má vrátit seznam potvrzených bloků, seznam nepotvrzených bloků nebo oba seznamy najednou. Platné hodnoty jsou committed, uncommittednebo all. Pokud tento parametr vynecháte, Get Block List vrátí seznam potvrzených bloků.
timeout Nepovinný parametr. Parametr timeout je vyjádřen v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Blob Storage.

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á použít pro tento požadavek. Další informace najdete v tématu Správa verzí pro služby Azure Storage.
x-ms-lease-id:<ID> Nepovinný parametr. Pokud je tato hlavička zadána, 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 objektu blob.

Pokud je tato hlavička zadána a některé z podmínek nejsou splněné, požadavek selže a operace selže se stavovým kódem 412 (Předběžná podmínka selhala).
x-ms-client-request-id Nepovinný parametr. Poskytuje klientem vygenerovanou neprůselnou hodnotu s limitem počtu znaků 1 kibibajt (KiB), který je zaznamenán v protokolech při konfiguraci protokolování. Důrazně doporučujeme použít tuto hlavičku ke korelaci aktivit na straně klienta s požadavky, které server přijímá. Další informace najdete v tématu Monitorování Azure Blob Storage.

Tato operace také podporuje použití podmíněných hlaviček k provedení operace 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é

Ukázkový požadavek

Následující ukázkový identifikátor URI požadavku vrátí seznam potvrzených bloků pro objekt blob s názvem MOV1.avi:

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

Následující ukázkový identifikátor URI požadavku vrátí potvrzený i nepotvrzený seznam blokovaných položek:

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

Následující ukázkový identifikátor URI požadavku vrátí potvrzený seznam blokovaných položek pro snímek. Snímek se skládá pouze z potvrzených bloků, takže k němu nejsou přidružené žádné nepotvrzené bloky.

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

Odpověď

Odpověď obsahuje stavový kód HTTP, sadu hlaviček odpovědi a text odpovědi, který obsahuje seznam bloků.

Stavový kód

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

Informace o stavových kódech najdete v tématu Stavové kódy a kódy 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.

Hlavička odpovědi Description
Last-Modified Datum a čas poslední změny objektu blob. Formát data se řídí dokumentem RFC 1123. Další informace najdete v tématu Reprezentace hodnot data a času v záhlavích. Vráceno pouze v případě, že objekt blob má potvrzené bloky.

Každá operace, která změní objekt blob, včetně aktualizací metadat nebo vlastností objektu blob, změní čas poslední změny objektu blob.
ETag Značka ETag objektu blob. Vráceno pouze v případě, že objekt blob má potvrzené bloky.
Content-Type Typ obsahu MIME objektu blob. Výchozí hodnota je application/xml.
x-ms-blob-content-length Velikost objektu blob v bajtech
x-ms-request-id Tato hlavička jednoznačně identifikuje vytvořený požadavek a dá se 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, která byla použita ke spuštění požadavku. Tato hlavička se vrátí pro požadavky provedené ve 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. Poznámka: Anonymní žádost je možné vrátit pouze potvrzený seznam blokovaných.
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 je v požadavku, a hodnota neobsahuje více než 1 024 viditelných znaků ASCII. Pokud se hlavička x-ms-client-request-id v požadavku nenachází, v odpovědi se nenachází.

Tato operace také podporuje použití podmíněných hlaviček k získání seznamu blokovaných 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 odpovědi

Text odpovědi pro požadavek, který vrací pouze potvrzené bloky, je následující:

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

Text odpovědi na požadavek, který vrací potvrzené i nepotvrzené bloky, je následující:


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

Ukázková odpověď

V následujícím příkladu blocklisttype byl parametr nastavený na committedhodnotu , takže se v odpovědi vrátí jenom potvrzené bloky objektu blob.

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>

V tomto příkladu blocklisttype byl parametr nastaven na allhodnotu a v odpovědi se vrátí potvrzené i nepotvrzené bloky objektu blob.

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>

V tomto dalším příkladu blocklisttype byl parametr nastavený na all, ale objekt blob ještě nebyl potvrzen, takže CommittedBlocks element je prázdný.

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>

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 Block List , 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 Block List 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

Voláním Get Block List vrátíte seznam bloků, které byly potvrzeny do objektu blob bloku, seznam bloků, které ještě nebyly potvrzeny, nebo oba seznamy. Pomocí parametru blocklisttype určete, které bloky se mají vrátit. Seznam potvrzených bloků je vrácen ve stejném pořadí, v jakém byly potvrzeny operací Put Block List .

Pomocí nepotvrzeného seznamu bloků můžete určit, které bloky v objektu blob chybí v případech, kdy volání Put Block nebo Put Block List selhalo. Seznam nepotvrzených bloků se vrátí v abecedním pořadí. Pokud se ID bloku nahrálo víc než jednou, zobrazí se v seznamu jenom naposledy nahraný blok.

Poznámka

Pokud objekt blob ještě není potvrzený, vrátí volání Get Block List metody s blocklisttype=all nepotvrzené bloky a CommittedBlocks element je prázdný.

Get Block List nepodporuje souběžnost při čtení seznamu nepotvrzených bloků. Volání, Get Block List kde blocklisttype=uncommitted nebo blocklisttype=all mají nižší maximální rychlost požadavků než jiné operace čtení. Podrobnosti o cílové propustnosti pro operace čtení najdete v tématu Škálovatelnost a výkonnostní cíle služby Azure Storage.

Od verze 2019-12-12 může objekt blob bloku obsahovat bloky až o velikosti 4 000 mebibajtů (MiB). Pokud chcete chránit aplikace, které používají podepsané 32bitové celé číslo k vyjádření velikosti bloku, volání Get Block List na objekt blob bloku, který obsahuje blok větší než 100 MiB s verzí REST starší než 2019-12-2019, výsledkem je stavový kód 409 (Konflikt).

Get Block List platí jenom pro objekty blob bloku. Výsledkem volání Get Block List na objekt blob stránky je stavový kód 400 (chybný požadavek).

Get Block List u archivovaného objektu blob bloku selže.

Fakturace

Požadavky na ceny můžou pocházet od klientů, kteří používají rozhraní API služby Blob Storage, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny služby Azure Storage. Za tyto žádosti se účtují poplatky za každou transakci. Typ transakce ovlivňuje způsob účtování za účet. Například transakce čtení se načítají do jiné kategorie fakturace než transakce zápisu. Následující tabulka uvádí kategorii fakturace pro Get Block List žádosti založené na typu účtu úložiště:

Operace Typ účtu úložiště Kategorie fakturace
Získat seznam blokovaných Objekt blob bloku úrovně Premium
Standard pro obecné účely v2
Další operace
Získat seznam blokovaných Standard pro obecné účely v1 Operace čtení

Informace o cenách pro zadanou kategorii fakturace najdete v tématu Azure Blob Storage Ceny.

Viz také

Autorizace požadavků na stav služby Azure Storagea kódy chybBlob Storage – Kódy chybNastavení časových limitů pro operace služby Blob Storage