Hledání objektů blob podle značek

Operace Find Blobs by Tags najde všechny objekty blob v účtu úložiště, jejichž značky odpovídají vyhledávacímu výrazu.

Žádost

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

Identifikátor URI požadavku metody GET Verze PROTOKOLU HTTP
https://myaccount.blob.core.windows.net?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.

Další informace o tom, jak vytvořit tento výraz, najdete v tématu Poznámky.
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. Služba může také vrátit 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

Ve verzi 2020-04-08 a novější jsou odpovídající značky objektu blob zapouzdřené v elementu Tags . 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 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 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 se podporuje v rozhraní REST API verze 2019-12-12-12 a novějších.

U účtů s povoleným hierarchickým oborem názvů se operace nepodporuje, Find Blobs by Tags protože pro účty hierarchického oboru názvů se nepodporují značky objektů blob.

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

Vytvoření hledaného výrazu

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

Služba úložiště podporuje podmnožinu gramatiky klauzule SQL WHERE ANSI 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'
@container Určení kontejneru &where=@container='mycontainer' AND Name = 'C'

Poznámka

Hodnota parametru where URI musí být správně zakódovaná URI (včetně mezer a operátorů). Předchozí příklady tuto možnost z důvodu čitelnosti vynechaly.

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 řazení formátování. Hodnoty značek musí být uzavřeny v jednoduchých uvozovkách.

Pokud jsou názvy značek běžnými identifikátory SQL, mohou být přítomny bez uvozování. Pokud obsahují nějaké speciální znaky, musí být oddělené dvojitými uvozovkami (například "TagName" = TagValue). Názvy značek doporučujeme vždy uzavřít 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

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

Operace Typ účtu úložiště Kategorie fakturace
Hledání objektů blob podle značek 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.

Viz také

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