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 för 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 ogenomskinlig 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 resulterar det i 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 loggningen 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 statuskoden 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 unikt den begäran som gjordes. 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 UTC-datum/tid-värde 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 huvudet, om det finns i begäran och värdet är högst 1 024 synliga ASCII-tecken.
x-ms-client-request-id Om rubriken inte finns i begäran visas inte det här huvudet i svaret. |
Själva svaret
I version 2020-04-08 och senare kapslas blobens matchande taggar in i ett Tags
element. Formatet för 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.
Viktigt
Microsoft rekommenderar att du använder Microsoft Entra ID med hanterade identiteter för att auktorisera begäranden till Azure Storage. Microsoft Entra ID ger överlägsen säkerhet och användarvänlighet jämfört med auktorisering av delad nyckel.
Azure Storage stöder användning av Microsoft Entra ID för att auktorisera begäranden till blobdata. Med Microsoft Entra ID 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 Microsoft Entra ID 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 Microsoft Entra ID finns i Auktorisera åtkomst till blobar med Microsoft Entra ID.
Behörigheter
Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra användare, grupp, hanterad identitet eller tjänstens huvudnamn ska anropa Find Blobs by Tags
åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som inkluderar den här åtgärden:
- Azure RBAC-åtgärd:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
- Minsta privilegierade inbyggda roll:Storage Blob Data Owner
Mer information om hur du tilldelar roller med 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.
För konton med hierarkiskt namnområde aktiverat Find Blobs by Tags
stöds inte åtgärden eftersom blobtaggar inte stöds för hierarkiska namnområdeskonton.
Det sekundära index 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
where
URI-parametern hittar blobar i lagringskontot vars taggar matchar ett uttryck. Uttrycket måste utvärderas till true
för att 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 |
Logiska 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 URI-parametern where
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 lexiicografisk 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 undantag. 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).
Fakturering
Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via REST-API:et för Blob Storage eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner ackumuleras till exempel till en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Find Blobs by Tags
begäranden baserat på lagringskontotypen:
Åtgärd | Typ av lagringskonto | Faktureringskategori |
---|---|---|
Hitta blobar efter taggar | Premium-blockblob Standard generell användning v2 Standard generell användning v1 |
Lista och Skapa containeråtgärder |
Mer information om priser för den angivna faktureringskategorin finns i Azure Blob Storage Prissättning.
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