Sdílet prostřednictvím


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 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 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/xmltato 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, LeaseStatea 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 URLrestype=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 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, DeletedTimea RemainingRetentiondays se zobrazí pouze ve verzi 2019-12-12 a novější, pokud zadáte deleted hodnotu parametru includedotazu . Tyto prvky se zobrazí pouze v případě, že je kontejner obnovitelně odstraněný a má nárok na obnovení. Elementy Version, Deleted, DeletedTimea 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:

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