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.
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 Find Blobs by Tags in Container
a nejméně privilegované integrované role Azure RBAC, která zahrnuje tuto akci:
- Akce Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
- Nejméně privilegovaná předdefinovaná role:Vlastník dat objektů blob služby Storage
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 Create kontejnerem |
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