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í danému vyhledávacímu výrazu.
Žádost
Požadavek Find Blobs by Tags lze zkonstruovat následujícím způsobem. Doporučuje se protokol 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 je možné 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 vytvoření tohoto výrazu najdete v poznámkách. |
marker |
Nepovinný parametr. Řetězcová hodnota, která identifikuje část sady výsledků dotazu, která se má vrátit s další operací. Operace vrátí hodnotu značky v těle odpovědi, pokud vrácená sada výsledků dotazu nebyla dokončena. Hodnota značky se pak může použít v dalším volání k vyžádání další sady položek. Hodnota značky je pro klienta neprůhledná. |
maxresults |
Nepovinný parametr. Určuje maximální počet objektů blob, které se vrátí. Pokud požadavek nezadá nebo nezadá hodnotu větší maxresults než 5 000, server vrátí až 5 000 položek.Pokud maxresults nastavíte hodnotu menší nebo rovnu nule, dojde k chybě s kódem odpovědi 400 (Chybný požadavek). |
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 Service. |
Hlavičky požadavku
Následující tabulka popisuje povinné a volitelné hlavičky požadavku.
| 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ů na 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ů na Azure Storage. |
x-ms-version |
Vyžaduje se pro všechny autorizované požadavky, volitelné pro anonymní požadavky. Určuje verzi operace, která se má použít pro tento požadavek. Další informace najdete v tématu o verzích pro Azure Storage Services. |
x-ms-client-request-id |
Nepovinný parametr. Poskytuje neprůhlednou hodnotu vygenerovanou klientem s limitem 1 kiB znaků, který se zaznamená do analytických protokolů, když je povolené protokolování analýzy úložiště. Použití této hlavičky se důrazně doporučuje pro korelaci aktivit na straně klienta s požadavky přijatými serverem. Další informace najdete v tématu Protokolování Storage Analytics a Protokolování Azure: Použití protokolů ke sledování Storage požadavků. |
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é a chybové kódy.
Hlavičky odpovědi
Odpověď pro tuto operaci zahrnuje následující hlavičky. Odpověď může obsahovat také další standardní hlavičky PROTOKOLU HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
| Hlavička odpovědi | Popis |
|---|---|
Content-Type |
application/xml |
Content-Length |
Velikost vráceného dokumentu XML v bajtech |
x-ms-request-id |
Tato hlavička jednoznačně identifikuje požadavek, který byl proveden, a lze 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 Blob service, která se používá k provedení požadavku. |
Date |
Hodnota data a času UTC vygenerovaná službou, která udává čas zahájení odpovědi. |
x-ms-client-request-id |
Tato hlavička se používá k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě hlavičky, pokud se nachází v požadavku a hodnota je nejvíce x-ms-client-request-id 1 024 viditelných znaků ASCII. Pokud hlavička v požadavku není, nebude tato hlavička x-ms-client-request-id v odpovědi k dispozici. |
Text odpovědi
Ve verzi 2020-04-08 a novější jsou odpovídající značky objektu blob zapouzdřeny 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 UTF-8 XML ve správném formátu.
Autorizace
Tuto operaci může volat vlastník účtu a kdokoli, kdo má sdílený přístupový podpis s oprávněním k vyhledání objektů blob podle značek (oprávnění f SAS).
Kromě toho mohou tuto operaci provádět uživatelé RBAC Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action s oprávněním .
Poznámky
Operace Find Blobs by Tags je podporována v REST API verze 2019-12-12 a novější.
Sekundární index, který používá , Find Blobs by Tags je nakonec konzistentní. Aktualizace značek objektů blob prostřednictvím Set Blob Tags mnoha z nich nejsou operace okamžitě Find Blobs by Tags viditelné.
Vytvoření vyhledávacího výrazu
Parametr where URI vyhledá objekty blob v účtu úložiště, jejichž značky odpovídají danému výrazu. Výraz se musí vyhodnotit na , aby se true objekt blob vrátil v sadě výsledků dotazu.
Služba úložiště podporuje podmnožinu ANSI SQL klauzule WHERE pro hodnotu where=<expression> parametru dotazu. Podporují se 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 URI musí být správně where zakódovaná pomocí identifikátoru URI (včetně mezer a operátorů). Výše uvedené příklady tuto skutečnost vyhodnotí pro čitelnost.
Všechny hodnoty značek jsou řetězce a podporované binární relační operátory používají lexikografické řazení hodnot značek. Pro podporu ne string datových typů, včetně čísel a kalendářních dat, je nutné 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 jsou názvy značek SQL identifikátory, mohou být přítomny bez ukončová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).
Viz také
Správa a vyhledávání dat ve službě Azure Blob Storage s využitím indexu objektů blob
Autorizace požadavků na Azure Storage
Stavové a chybové kódy
Kódy chyb služby Blob Service