Výpis kontejnerů
Operace List Containers
vrátí seznam kontejnerů v rámci zadaného účtu úložiště.
Žádost
Požadavek můžete sestavit List Containers
následujícím způsobem. Doporučuje se https. Nahraďte myaccount názvem vašeho účtu úložiště.
Metoda | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
GET |
https://myaccount.blob.core.windows.net/?comp=list |
HTTP/1.1 |
Všimněte si, že identifikátor URI musí vždy obsahovat lomítko (/), aby se název hostitele oddělil od části URI cesty a dotazu. V případě List Containers
operace je část cesty identifikátoru URI prázdná.
Žádost o službu emulovaného úložiště
Když vytvoříte požadavek na službu emulovaného úložiště, zadejte název hostitele emulátoru a Azure Blob Storage port jako 127.0.0.1:10000
, následovaný názvem emulovaného účtu úložiště.
Metoda | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
GET |
http://127.0.0.1:10000/devstoreaccount1?comp=list |
HTTP/1.1 |
Mějte na paměti, že emulované úložiště podporuje pouze velikosti objektů blob do 2 GiB.
Další informace najdete v tématech Použití emulátoru Azurite pro místní vývoj služby Azure Storage a Rozdíly mezi emulátorem úložiště a službami Azure Storage.
Parametry identifikátoru URI
V identifikátoru URI požadavku můžete zadat následující další parametry.
Parametr | Popis |
---|---|
prefix |
Nepovinný parametr. Filtruje výsledky tak, aby vracely pouze kontejnery s názvem, který začíná zadanou předponou. |
marker |
Nepovinný parametr. Řetězcová hodnota, která identifikuje část seznamu kontejnerů, které se mají vrátit při další operaci výpisu. Operace vrátí NextMarker hodnotu v textu odpovědi, pokud operace výpisu nevrátila všechny zbývající kontejnery na aktuální stránce. Hodnotu můžete použít NextMarker jako hodnotu parametru marker v následném volání a vyžádat si další stránku položek seznamu.Hodnota značky je pro klienta neprůžná. |
maxresults |
Nepovinný parametr. Určuje maximální počet kontejnerů, které se mají vrátit. Pokud požadavek neurčí maxresults nebo určuje hodnotu větší než 5000, server vrátí až 5 000 položek. Všimněte si, že pokud operace výpisu překročí hranici oddílu, služba vrátí token pro pokračování pro načtení zbytku výsledků. Z tohoto důvodu je možné, že služba vrátí méně výsledků, než je zadáno parametrem maxresults , nebo než výchozí hodnota 5000. Pokud je parametr nastaven na hodnotu menší nebo rovnou nule, server vrátí stavový kód 400 (Chybný požadavek). |
include={metadata,deleted,system} |
Nepovinný parametr. Určuje jednu nebo více datových sad, které se mají zahrnout do odpovědi: - metadata : Poznámka: Metadata požadovaná pomocí tohoto parametru se musí ukládat v souladu s omezeními pro vytváření názvů, která jsou stanovena verzí služby Blob Storage z 2009-09-19. Počínaje touto verzí musí všechny názvy metadat dodržovat zásady vytváření názvů pro identifikátory jazyka C#.- deleted : Verze 2019-12-12 a novější. Určuje, že do odpovědi by měly být zahrnuty obnovitelně odstraněné kontejnery.- system : Verze 2020-10-02 a novější. Určuje, jestli mají být do odpovědi zahrnuty systémové kontejnery. Zahrnutím této možnosti zobrazíte seznam systémových kontejnerů, jako $logs jsou a $changefeed . Upozorňujeme, že konkrétní vrácené systémové kontejnery se budou lišit v závislosti na tom, které funkce služby jsou v účtu úložiště povolené. |
timeout |
Nepovinný parametr. Parametr se timeout vyjadřuje 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 |
Vyžaduje se pro všechny autorizované žá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. |
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. |
Text požadavku
Žádné
Odpověď
Odpověď obsahuje stavový kód HTTP, sadu hlaviček odpovědi a text odpovědi ve formátu XML.
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ěď obsahuje také další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
Hlavička odpovědi | Description |
---|---|
Content-Type |
Standardní hlavička HTTP/1.1. Určuje formát, ve kterém jsou výsledky vráceny. V současné době je application/xml tato hodnota . |
x-ms-request-id |
Tato hlavička jednoznačně identifikuje požadavek, který byl proveden, a lze ji 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 použitou ke spuštění požadavku. Tato hlavička se vrátí pro požadavky provedené proti verzi 2009-09-19 a novější. |
Date |
Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Tato služba vygeneruje tuto hodnotu. |
x-ms-client-request-id |
Tuto hlavičku můžete 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. Hodnota je maximálně 1024 viditelných znaků ASCII. Pokud se hlavička x-ms-client-request-id v požadavku nenachází, nebude tato hlavička v odpovědi. |
Text odpovědi
Text odpovědi má následující formát.
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net">
<Prefix>string-value</Prefix>
<Marker>string-value</Marker>
<MaxResults>int-value</MaxResults>
<Containers>
<Container>
<Name>container-name</Name>
<Version>container-version</Version>
<Deleted>true</Deleted>
<Properties>
<Last-Modified>date/time-value</Last-Modified>
<Etag>etag</Etag>
<LeaseStatus>locked | unlocked</LeaseStatus>
<LeaseState>available | leased | expired | breaking | broken</LeaseState>
<LeaseDuration>infinite | fixed</LeaseDuration>
<PublicAccess>container | blob</PublicAccess>
<HasImmutabilityPolicy>true | false</HasImmutabilityPolicy>
<HasLegalHold>true | false</HasLegalHold>
<DeletedTime>datetime</DeletedTime>
<RemainingRetentionDays>no-of-days</RemainingRetentionDays>
</Properties>
<Metadata>
<metadata-name>value</metadata-name>
</Metadata>
</Container>
</Containers>
<NextMarker>marker-value</NextMarker>
</EnumerationResults>
LeaseStatus
, LeaseState
a LeaseDuration
se zobrazují jenom ve verzi 2012-02-12 a novějších.
Od verze 2013-08-15 byl AccountName
atribut elementu EnumerationResults
přejmenován na ServiceEndpoint
. Element URL
byl také odebrán z elementu Container
. U verzí starších než 2013-08-15 neobsahuje adresa URL kontejneru podle URL
pole restype=container
parametr . Pokud tuto hodnotu použijete k provádění následných požadavků na výčtové kontejnery, nezapomeňte připojit tento parametr, který označuje, že typ prostředku je kontejner.
Elementy Prefix
, Marker
a MaxResults
jsou k dispozici pouze v případě, že je zadáte v identifikátoru URI. Element NextMarker
má hodnotu pouze v případě, že výsledky seznamu nejsou dokončené.
Element Metadata
je k dispozici pouze v případě, že v identifikátoru include=metadata
URI zadáte parametr . V elementu Metadata
je hodnota každého páru název-hodnota uvedena v elementu odpovídajícím názvu páru.
Pokud dvojice název-hodnota metadat porušuje omezení pojmenování vynucená verzí 2009-09-19, tělo odpovědi označí problematický název v elementu x-ms-invalid-name
. Následující fragment XML ukazuje toto:
<Metadata>
<MyMetadata1>first value</MyMetadata1>
<MyMetadata2>second value</MyMetadata2>
<x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>
</Metadata>
Od verze z 31. 5. 2016 jsou ve vlastnosti k dispozici veřejná oprávnění kontejneru PublicAccess
. Označuje, jestli je možné k datům v kontejneru přistupovat veřejně, a úroveň přístupu. Mezi možné hodnoty patří:
container
: Označuje úplný veřejný přístup ke čtení pro data kontejnerů a objektů blob. Klienti můžou vytvořit výčet objektů blob v rámci kontejneru prostřednictvím anonymního požadavku, ale nemůžou vytvořit výčet kontejnerů v rámci účtu úložiště.blob
: Označuje veřejný přístup ke čtení pro objekty blob. Data objektů blob v tomto kontejneru je možné číst prostřednictvím anonymního požadavku, ale data kontejneru nejsou k dispozici. Klienti nemůžou vytvořit výčet objektů blob v kontejneru prostřednictvím anonymního požadavku.
Pokud tato vlastnost není v oddílu <properties>
zadaná, je kontejner pro vlastníka účtu privátní.
HasImmutabilityPolicy
a HasLegalHold
se zobrazují jenom ve verzi 2017-11-09 a novější.
HasImmutabilityPolicy
Je true
to, pokud je pro kontejner nastavená zásada neměnnosti a false
v opačném případě.
HasLegalHold
Je true
to, pokud má kontejner jedno nebo více blokování z právních důvodů a false
v opačném případě.
Poznámka
Od verze 2009-09-19 vrací text odpovědi pro List Containers
čas poslední změny kontejneru v elementu s názvem Last-Modified
. V předchozích verzích měl tento prvek název LastModified
.
Elementy , , a RemainingRetentiondays
se zobrazí pouze ve verzi 2019-12-12-12 a novější, pokud zadáte deleted
hodnotu parametru include
DeletedTime
dotazu . Deleted
Version
Tyto prvky se zobrazí jenom v případě, že je kontejner odstraněný obnovitelně a je způsobilý k obnovení. Elementy Version
, Deleted
, DeletedTime
a RemainingRetentiondays
se zobrazí jenom ve verzi 2019-12-12-2012 a novějších, pokud je odstraněná hodnota zadaná pro include
parametr dotazu a kontejner je obnovitelně odstraněný a je způsobilý k obnovení.
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 List Containers
, 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í List Containers
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:
- Akce Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/read (vymezený na účet úložiště nebo vyšší)
- Předdefinovaná role s nejnižšími oprávněními:Přispěvatel dat v objektech blob služby Storage (vymezený na účet úložiště nebo vyšší)
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
Pokud zadáte hodnotu parametru maxresults
a počet kontejnerů, které se mají vrátit, překročí tuto hodnotu nebo překročí výchozí hodnotu pro maxresults
, tělo odpovědi bude obsahovat NextMarker
element . (Tento token se také označuje jako token pro pokračování).
NextMarker
označuje další kontejner, který se má vrátit po následném požadavku. Pokud chcete vrátit další sadu položek, zadejte hodnotu NextMarker
parametru marker
v identifikátoru URI pro následující požadavek. Všimněte si, že hodnota NextMarker
by měla být považována za neprůselnou.
Pokud operace výpisu překročí hranici oddílu, služba vrátí hodnotu elementu NextMarker
pro načtení zbytku výsledků z dalšího oddílu. Operace výpisu, která zahrnuje více než jeden oddíl, má za následek, že se vrátí menší sada položek, než je zadáno parametrem maxresults
nebo než výchozí hodnota 5000. Při provádění operace výpisu by vaše aplikace měla vždy zkontrolovat přítomnost elementu NextMarker
a odpovídajícím způsobem ho zpracovat.
Kontejnery jsou v textu odpovědi uvedené v abecedním pořadí.
Časový List Containers
limit operace vyprší po 30 sekundách.
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 List Containers
žádosti založené na typu účtu úložiště:
Operace | Typ účtu úložiště | Kategorie fakturace |
---|---|---|
Výpis kontejnerů | Objekt blob bloku úrovně Premium Standard pro obecné účely v2 Standard pro obecné účely v1 |
Operace výpisu a vytvoření kontejneru |
Informace o cenách pro zadanou kategorii fakturace najdete v tématu Azure Blob Storage Ceny.
Ukázkový požadavek a odpověď
Následující ukázkový identifikátor URI vyžaduje seznam kontejnerů pro účet a nastaví maximální počet výsledků, které se mají vrátit pro počáteční operaci, na tři.
GET https://myaccount.blob.core.windows.net/?comp=list&maxresults=3 HTTP/1.1
Požadavek se odešle s těmito hlavičkami:
x-ms-version: 2016-05-31
x-ms-date: Wed, 26 Oct 2016 22:08:44 GMT
Authorization: SharedKey myaccount:CY1OP3O3jGFpYFbTCBimLn0Xov0vt0khH/D5Gy0fXvg=
Hlavičky stavového kódu a odpovědi se vrátí takto:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Date: Wed, 26 Oct 2016 22:08:54 GMT
x-ms-version: 2016-05-31
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Kód XML odpovědi na tento požadavek je následující. Všimněte si NextMarker
, že element následuje sadu kontejnerů a obsahuje název dalšího kontejneru, který se má vrátit.
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net/">
<MaxResults>3</MaxResults>
<Containers>
<Container>
<Name>audio</Name>
<Properties>
<Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>
<Etag>0x8CACB9BD7C6B1B2</Etag>
<PublicAccess>container</PublicAccess>
</Properties>
</Container>
<Container>
<Name>images</Name>
<Properties>
<Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>
<Etag>0x8CACB9BD7C1EEEC</Etag>
</Properties>
</Container>
<Container>
<Name>textfiles</Name>
<Properties>
<Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>
<Etag>0x8CACB9BD7BACAC3</Etag>
</Properties>
</Container>
</Containers>
<NextMarker>video</NextMarker>
</EnumerationResults>
Následující operace seznamu určuje značku identifikátoru URI požadavku následujícím způsobem. Vrátí se další sada výsledků, počínaje kontejnerem určeným značkou.
https://myaccount.blob.core.windows.net/?comp=list&maxresults=3&marker=video
Viz také
Autorizace žádostí do Služby Azure Storage
Stavové kódy a kódy chyb
Kódy chyb služby Blob Storage
Výčet prostředků objektů blob
Použití emulátoru služby Azure Storage pro vývoj a testování
Nastavení časových limitů pro operace služby Blob Storage