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čí maxresultsnebo 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/xmltato 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, LeaseStatea 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, Markera 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 includeDeletedTimedotazu . DeletedVersion Tyto prvky se zobrazí jenom v případě, že je kontejner odstraněný obnovitelně a je způsobilý k obnovení. Elementy Version, Deleted, DeletedTimea 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:

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