Vypsat kontejnery
Operace List Containers
vrátí seznam kontejnerů v zadaném účtu úložiště.
Žádost
Požadavek můžete vytvořit 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 cesty a dotazu identifikátoru URI. 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 |
Upozorňujeme, ž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á určenou 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, které mají být uvedeny 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ůselná. |
maxresults |
Nepovinný parametr. Určuje maximální počet kontejnerů, které se mají vrátit. Pokud požadavek neurčuje 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 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 : Upozorňujeme, že metadata požadovaná pomocí tohoto parametru musí být uložena v souladu s omezeními pro vytváření názvů, která jsou uložená verzí služby Blob Storage z 19. 9. 2009. 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ů, například $logs 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 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. 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-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 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 Blob Storage použitou ke spuštění požadavku. Tato hlavička se vrátí pro požadavky provedené ve 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 je v požadavku. Hodnota je maximálně 1024 viditelných znaků ASCII. Pokud hlavička x-ms-client-request-id v požadavku není, nebude tato hlavička v odpovědi. |
Text odpovědi
Formát textu odpovědi je následující.
<?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ší.
Počínaje verzí 2013-08-15 AccountName
byl 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 pole URL
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 include=metadata
případě, že zadáte parametr v identifikátoru URI. V elementu Metadata
je hodnota každého páru název-hodnota uvedena v elementu odpovídajícím názvu dvojice.
Pokud pár název-hodnota metadat porušuje omezení pojmenování vynucená verzí 2009-09-19, text odpovědi označuje problematický název v rámci 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>
Počínaje verzí 2016-05-31 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 pro čtení pro data kontejnerů a objektů blob. Klienti můžou vytvořit výčet objektů blob v kontejneru prostřednictvím anonymního požadavku, ale nemůžou vypsat kontejnery v rámci účtu úložiště. -
blob
: Označuje veřejný přístup pro č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í žádosti.
Pokud tato vlastnost není v oddílu <properties>
zadaná, je kontejner pro vlastníka účtu privátní.
HasImmutabilityPolicy
a HasLegalHold
zobrazí se pouze ve verzi 2017-11-09 a novější.
HasImmutabilityPolicy
je true
, pokud má kontejner nastavenou zásadu neměnnosti a false
jinak.
HasLegalHold
je true
, pokud má kontejner jedno nebo více právních blokování a false
jinak.
Poznámka
Počínaje verzí 2009-09-19 vrátí tělo 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 Version
, Deleted
, DeletedTime
a RemainingRetentiondays
se zobrazí pouze ve verzi 2019-12-12 a novější, pokud zadáte deleted
hodnotu parametru include
dotazu . Tyto prvky se zobrazí pouze v případě, že je kontejner obnovitelně odstraněný a má nárok na obnovení. Elementy Version
, Deleted
, DeletedTime
a RemainingRetentiondays
se zobrazí pouze ve verzi 2019-12-12 a novější, pokud je pro include
parametr dotazu zadána odstraněná hodnota a kontejner je obnovitelné odstranění a lze ho obnovit.
Autorizace
Při volání jakékoli operace přístupu k datům ve službě Azure Storage se vyžaduje autorizace. Operaci můžete autorizovat, List Containers
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 ve srovnání s autorizací sdíleného klíče poskytuje 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í je ověřen 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 potřebné k volání operace Microsoft Entra uživatele, skupiny, spravované identity nebo instančního objektu List Containers
a nejméně privilegované integrované role Azure RBAC, která zahrnuje tuto akci:
- Akce Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/read (vymezený na účet úložiště nebo vyšší)
- Nejméně privilegovaná předdefinovaná role: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
, text odpovědi bude obsahovat NextMarker
element. (Označuje se také jako token pro pokračování).
NextMarker
označuje další kontejner, který se má vrátit při 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 by NextMarker
měla být považována za neprůselnou.
Pokud operace výpisu překročí hranice 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 NextMarker
by vaše aplikace měla vždy zkontrolovat přítomnost elementu 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
Žádosti o ceny můžou pocházet od klientů, kteří používají rozhraní BLOB Storage API, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny Služby Azure Storage. Tyto požadavky načítají poplatky za transakci. Typ transakce ovlivňuje způsob účtování poplatku za účet. Například transakce čtení se načítají do jiné kategorie fakturace než transakce zápisu. Následující tabulka ukazuje kategorii fakturace pro List Containers
žádosti založené na typu účtu úložiště:
Operace | Typ účtu úložiště | Kategorie fakturace |
---|---|---|
Vypsat kontejnery | Objekt blob bloku úrovně Premium Standard pro obecné účely v2 Standard pro obecné účely v1 |
Operace se seznamem a Create kontejnerem |
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 vrácených výsledků 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=
Stavový kód a hlavičky 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