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:10000
a 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 Create snímek 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 , uncommitted nebo 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 committed
hodnotu , 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 all
hodnotu 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.
Důležité
Microsoft doporučuje používat Microsoft Entra ID se spravovanými identitami k autorizaci požadavků do služby Azure Storage. Microsoft Entra ID poskytuje v porovnání s autorizací pomocí sdíleného klíče vynikající zabezpečení a snadné použití.
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živatelem, skupinou, spravovanou identitou nebo instančním objektem a předdefinovanou rolí Azure RBAC s nejnižšími oprávněními, která zahrnuje tuto akci:
- Akce Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Předdefinovaná role s nejnižšími oprávněními:Čtenář dat v objektech blob služby Storage
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