Hitta blobar efter taggar
Åtgärden Find Blobs by Tags
hittar alla blobar i lagringskontot vars taggar matchar ett sökuttryck.
Förfrågan
Du kan skapa begäran på Find Blobs by Tags
följande sätt. Vi rekommenderar HTTPS. Ersätt myaccount med namnet på ditt lagringskonto.
URI för GET-metodbegäran | HTTP-version |
---|---|
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> |
HTTP/1.1 |
URI-parametrar
Du kan ange följande ytterligare parametrar på begärande-URI:n:
Parameter | Beskrivning |
---|---|
expression |
Krävs. Filtrerar resultatuppsättningen så att den endast innehåller blobar vars taggar matchar det angivna uttrycket. Mer information om hur du skapar det här uttrycket finns i Kommentarer. |
marker |
Valfritt. Ett strängvärde som identifierar den del av resultatuppsättningen som ska returneras med nästa åtgärd. Åtgärden returnerar ett markörvärde i svarstexten om den returnerade resultatuppsättningen inte slutfördes. Markörvärdet kan sedan användas i ett efterföljande anrop för att begära nästa uppsättning objekt. Markörvärdet är täckande för klienten. |
maxresults |
Valfritt. Anger det maximala antalet blobar som ska returneras. Om begäran inte anger maxresults eller anger ett värde som är större än 5 000 returnerar servern upp till 5 000 objekt. Om det finns ytterligare resultat att returnera returnerar tjänsten en fortsättningstoken i svarselementet NextMarker . I vissa fall kan tjänsten returnera färre resultat än maxresults vad som anges. Tjänsten kan också returnera en fortsättningstoken.Om du anger maxresults ett värde som är mindre än eller lika med noll returneras felsvarskoden 400 (felaktig begäran). |
timeout |
Valfritt. Uttryckt i sekunder. Mer information finns i Ange tidsgränser för Blob Storage-åtgärder. |
Begärandehuvuden
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden:
Begärandehuvud | Beskrivning |
---|---|
Authorization |
Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. |
Date eller x-ms-date |
Krävs. Anger Coordinated Universal Time (UTC) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. |
x-ms-version |
Krävs för alla auktoriserade begäranden, men valfritt för anonyma begäranden. Anger vilken version av åtgärden som ska användas för den här begäran. Mer information finns i Versionshantering för Azure Storage-tjänsterna. |
x-ms-client-request-id |
Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggning har konfigurerats. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. |
Begärandetext
Inga.
Svarsåtgärder
Svaret innehåller en HTTP-statuskod, svarshuvuden och en svarstext.
Statuskod
En lyckad åtgärd returnerar statuskod 200 (OK).
Information om statuskoder finns i Status och felkoder.
Svarshuvuden
Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. Alla standardhuvuden överensstämmer med http/1.1-protokollspecifikationen.
Svarsrubrik | Description |
---|---|
Content-Type |
Anger application/xml som innehållstyp. |
Content-Length |
Anger storleken på det returnerade XML-dokumentet i byte. |
x-ms-request-id |
Identifierar begäran som gjordes unikt. Du kan använda den för att felsöka begäran. Mer information finns i Felsöka API-åtgärder. |
x-ms-version |
Anger vilken version av Azure Blob Storage som användes för att köra begäran. |
Date |
Ett datum-/tidsvärde för UTC som anger den tid då tjänsten skickade svaret. |
x-ms-client-request-id |
Kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet x-ms-client-request-id för rubriken, om det finns i begäran och värdet är högst 1 024 synliga ASCII-tecken. Om huvudet x-ms-client-request-id inte finns i begäran kommer det här huvudet inte att finnas i svaret. |
Själva svaret
I version 2020-04-08 och senare kapslas blobens matchande taggar in i ett Tags
element. Formatet på svarstexten är följande:
<?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>
Svarstexten är ett välformat UTF-8 XML-dokument.
Auktorisering
Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden enligt beskrivningen Find Blobs by Tags
nedan.
Azure Storage stöder användning av Azure Active Directory (Azure AD) för att auktorisera begäranden till blobdata. Med Azure AD kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt. Säkerhetsobjektet kan vara en användare, grupp, programtjänstens huvudnamn eller en hanterad Azure-identitet. Säkerhetsobjektet autentiseras av Azure AD för att returnera en OAuth 2.0-token. Token kan sedan användas för att auktorisera en begäran mot Blob-tjänsten.
Mer information om auktorisering med hjälp av Azure AD finns i Auktorisera åtkomst till blobar med Hjälp av Azure Active Directory.
Behörigheter
Nedan visas den RBAC-åtgärd som krävs för att en Azure AD användare, grupp eller tjänstens huvudnamn ska anropa Find Blobs by Tags
åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som innehåller den här åtgärden:
- Azure RBAC-åtgärd:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
- Minsta privilegierade inbyggda roll:Storage Blob Data-ägare
Mer information om hur du tilldelar roller med hjälp av Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.
Kommentarer
Åtgärden Find Blobs by Tags
stöds i REST API version 2019-12-12 och senare.
Det sekundära indexet som Find Blobs by Tags
använder är så småningom konsekvent. Uppdateringar till blobtaggar via Set Blob Tags
kanske inte är direkt synliga för Find Blobs by Tags
åtgärder.
Skapa ett sökuttryck
URI-parametern where
hittar blobar i lagringskontot vars taggar matchar ett uttryck. Uttrycket måste utvärderas för att true
en blob ska returneras i resultatuppsättningen.
Lagringstjänsten stöder en delmängd av ANSI SQL-satsens WHERE
grammatik för värdet för frågeparametern where=<expression>
. Lagringstjänsten stöder följande operatorer:
Operator | Beskrivning | Exempel |
---|---|---|
= |
Lika med | &where=Status = 'In Progress' |
> |
Större än | &where=LastModified > '2018-06-18 20:51:26Z' |
>= |
Större än eller lika med | &where=Priority >= '05' |
< |
Mindre än | &where=Age < '032' |
<= |
Mindre än eller lika med | &where=Reviewer <= 'Smith' |
AND |
Logiskt och | &where=Name > 'C' AND Name < 'D' &where=Age > '032' AND Age < '100' |
@container |
Ange en container | &where=@container='mycontainer' AND Name = 'C' |
Anteckning
Värdet för where
URI-parametern måste vara korrekt URI-kodat (inklusive blanksteg och operatorer). Föregående exempel utelämnar detta för läsbarhet.
Alla taggvärden är strängar. De binära relationsoperatorer som stöds använder en lexikografiska sortering av taggvärdena. Om du vill ha stöd för datatyper som inte är strängar, inklusive tal och datum, måste du använda lämplig utfyllnad och sorterbar formatering. Taggvärden måste omges av enkla citattecken.
Om taggnamn är vanliga SQL-identifierare kan de finnas utan att komma undan. Om de innehåller specialtecken måste de avgränsas med dubbla citattecken (till exempel "TagName"
= TagValue
). Vi rekommenderar att du alltid omger taggnamn inom dubbla citattecken.
Lagringstjänsten avvisar alla begäranden som innehåller ett ogiltigt uttryck med felkoden 400 (felaktig begäran).
Se även
Hantera och hitta data på Azure Blob Storage med blobindextaggar
Auktorisera begäranden till Azure Storage
Status- och felkoder
Felkoder för Blob Storage