Vyhledání objektů blob podle značek v kontejneru

Operace Find Blobs by Tags in Container najde všechny objekty blob, jejichž značky odpovídají vyhledávacímu výrazu v kontejneru.

Žádost

Požadavek můžete vytvořit Find Blobs by Tags in Container následujícím způsobem. Doporučujeme HTTPS. Nahraďte myaccount názvem vašeho účtu úložiště a mycontainer názvem vašeho kontejneru úložiště.

Identifikátor URI požadavku metody GET Verze PROTOKOLU HTTP
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=blobs&where=<expression> HTTP/1.1

Parametry identifikátoru URI

V identifikátoru URI požadavku můžete zadat následující další parametry:

Parametr Popis
expression Povinná hodnota. Filtruje sadu výsledků tak, aby zahrnovala pouze objekty blob, jejichž značky odpovídají zadanému výrazu.

Informace o tom, jak vytvořit tento výraz, najdete v části Poznámky dále v tomto článku.
marker Nepovinný parametr. Řetězcová hodnota, která identifikuje část sady výsledků, která se má vrátit při další operaci. Operace vrátí hodnotu značky v těle odpovědi, pokud vrácená sada výsledků nebyla dokončena. Hodnotu značky je pak možné použít při následném volání k vyžádání další sady položek.

Hodnota značky je pro klienta neprůselná.
maxresults Nepovinný parametr. Určuje maximální počet objektů blob, které se mají vrátit. Pokud požadavek nezadá maxresults nebo určuje hodnotu větší než 5 000, server vrátí až 5 000 položek. Pokud jsou k dispozici další výsledky, které se mají vrátit, služba vrátí token pokračování v elementu NextMarker response. V některých případech může služba vrátit méně výsledků, než maxresults určuje, ale přesto vrátí token pokračování.

Nastavení maxresults na hodnotu menší nebo rovnou nule má za následek kód odpovědi na chybu 400 (chybný požadavek).
timeout Nepovinný parametr. Vyjádřeno 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, ale 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-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á.

Text požadavku

Žádné

Odpověď

Odpověď obsahuje stavový kód HTTP, hlavičky odpovědi a text odpovědi.

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
Content-Type Určuje application/xml jako typ obsahu.
Content-Length Určuje velikost vráceného dokumentu XML v bajtech.
x-ms-request-id Jedinečně identifikuje požadavek, který byl proveden. Můžete ho 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 Azure Blob Storage, která se použila ke spuštění požadavku.
Date Hodnota data a času UTC, která označuje čas, kdy služba odeslala odpověď.
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 je rovna hodnotě x-ms-client-request-id hlavičky, pokud je v požadavku a hodnota je maximálně 1 024 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

Text odpovědi má následující formát:

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint=http://myaccount.blob.core.windows.net/>  
  <Where>string-value</Where>  
  <Blobs>  
    <Blob>  
      <Name>blob-name</Name>  
      <ContainerName>container-name</ContainerName>  
      <Tags>
        <TagSet>
          <Tag>
            <Key>matching-tag-name1</Key>
            <Value>matching-tag-value1</Value>
          </Tag>
          <Tag>
            <Key>matching-tag-name2</Key>
            <Value>matching-tag-value2</Value>
          </Tag>
        </TagSet>
      </Tags> 
    </Blob>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

Text odpovědi je dokument XML ve správném formátu UTF-8.

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, Find Blobs by Tags in Container 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í 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 nebo instančního Find Blobs by Tags in Container objektu a předdefinované role Azure RBAC s nejnižšími oprávněními, 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

Operace Find Blobs by Tags in Container se podporuje ve verzi rozhraní REST API 2021-04-10 a novější.

Sekundární index, který používá, Find Blobs by Tags in Container je nakonec konzistentní. Aktualizace na značky objektů blob přes nemusí Set Blob Tags být pro operace okamžitě viditelnéFind Blobs by Tags in Container.

Vytvoření vyhledávacího výrazu

Parametr where URI vyhledá objekty blob v účtu úložiště a kontejneru, jejichž značky odpovídají výrazu. Výraz se musí vyhodnotit jako true , aby se objekt blob vrátil v sadě výsledků.

Služba úložiště podporuje podmnožinu gramatiky klauzule ANSI SQL WHERE pro hodnotu parametru where=<expression> dotazu. Služba úložiště podporuje následující operátory:

Operátor Popis Příklad
= Je rovno &where=Status = 'In Progress'
> Větší než &where=LastModified > '2018-06-18 20:51:26Z'
>= Větší než nebo rovno &where=Priority >= '05'
< Menší než &where=Age < '032'
<= Menší než nebo rovno &where=Reviewer <= 'Smith'
AND Logické a &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'

Poznámka

Hodnota parametru where URI musí být správně zakódovaná identifikátorem URI (včetně mezer a operátorů). Předchozí příklady tuto možnost z důvodu čitelnosti vynechaly. @container se nepodporuje, pokud je kontejner součástí identifikátoru URI.

Všechny hodnoty značek jsou řetězce. Podporované binární relační operátory používají lexikografické řazení hodnot značek. Pokud chcete podporovat jiné než řetězcové datové typy, včetně čísel a kalendářních dat, musíte použít odpovídající odsazení a seřaditelné formátování. Hodnoty značek musí být uzavřeny v jednoduchých uvozovkách.

Pokud názvy značek představují běžné identifikátory SQL, můžou být přítomny bez úniku. Pokud obsahují nějaké speciální znaky, musí být oddělené dvojitými uvozovkami (například "TagName" = TagValue). Doporučujeme vždy uzavřít názvy značek do dvojitých uvozovek.

Služba úložiště odmítne všechny požadavky, které obsahují neplatný výraz s kódem chyby 400 (chybný požadavek).

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 Find Blobs by Tags in Container žádosti založené na typu účtu úložiště:

Operace Typ účtu úložiště Kategorie fakturace
Vyhledání objektů blob podle značek v kontejneru Objekt blob bloku úrovně Premium
Standard pro obecné účely v2
Standard pro obecné účely v1
Operace se seznamem a vytvořením kontejneru

Informace o cenách pro zadanou kategorii fakturace najdete v tématu Azure Blob Storage Ceny.

Viz také

Správa a hledání dat na Azure Blob Storage pomocí značek indexu objektů blob
Autorizace žádostí do Služby Azure Storage
Stavové kódy a kódy chyb
Kódy chyb služby Blob Storage