Hitta blobar efter taggar

Åtgärden Find Blobs by Tags hittar alla blobar i lagringskontot vars taggar matchar ett visst sökuttryck.

Förfrågan

Begäran Find Blobs by Tags kan konstrueras på följande sätt. HTTPS rekommenderas. 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

Följande ytterligare parametrar kan anges på begärans-URI:en.

Parameter Beskrivning
expression Krävs. Filtrerar resultatuppsättningen så att den endast inkluderar 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 eller anger ett värde som är större än maxresults 5 000 returnerar servern upp till 5 000 objekt.

Om maxresults du anger ett värde som är mindre än eller lika med noll resulterar det i felsvarskod 400 (felaktig begäran).
timeout Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för Blob Service-åtgärder.

Rubriker för begäran

I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.

Begärandehuvud Description
Authorization Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden att 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 att Azure Storage.
x-ms-version Krävs för alla auktoriserade begäranden, 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 Services.
x-ms-client-request-id Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 KiB som registreras i analysloggarna när loggning av lagringsanalys är aktiverat. Användning av det här huvudet rekommenderas starkt för korrelering av aktiviteter på klientsidan med begäranden som tas emot av servern. Mer information finns i Om Storage Analytics-loggning och Azure Logging: Använda loggar för att spåra Storage begäranden.

Begärandetext

Inga.

Svarsåtgärder

Svaret innehåller en HTTP-statuskod, svarshuvuden och svarstext.

Statuskod

En lyckad åtgärd returnerar statuskod 200 (OK).

Information om statuskoder finns i Status och Felkoder.

Svarsrubriker

Svaret för den här åtgärden innehåller följande huvuden. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. Alla standardhuvuden följer protokollspecifikationen HTTP/1.1.

Svarshuvud Description
Content-Type application/xml
Content-Length Storleken på det returnerade XML-dokumentet, i byte
x-ms-request-id Det här huvudet identifierar unikt begäran som har gjorts och kan användas för felsökning av begäran. Mer information finns i Felsöka API-åtgärder.
x-ms-version Anger vilken version av blobtjänsten som används för att köra begäran.
Date Ett datum-/tidsvärde för UTC som genererats av tjänsten och som anger vid vilken tidpunkt svaret initierades.
x-ms-client-request-id Det här huvudet kan användas för att felsöka begäranden och motsvarande svar. Värdet för den här rubriken är lika med värdet för rubriken om det finns i begäran och värdet är högst x-ms-client-request-id 1 024 synliga ASCII-tecken. Om x-ms-client-request-id -huvudet inte finns i begäran kommer det här huvudet inte att finnas i svaret.

Svarstext

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äl utf-8 XML-dokument.

Auktorisering

Den här åtgärden kan anropas av kontoägaren och av vem som helst med en signatur för delad åtkomst som har behörighet att hitta blobar efter taggar f (SAS-behörigheten).

Dessutom kan RBAC-användare med behörighet Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action utföra den här åtgärden.

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änds av är så småningom konsekvent. Uppdateringar av blobtaggar via Set Blob Tags många är inte omedelbart synliga för Find Blobs by Tags åtgärder.

Skapa ett sökuttryck

whereURI-parametern hittar blobar i lagringskontot vars taggar matchar ett visst uttryck. Uttrycket måste utvärderas till för true att en blob ska returneras i resultatuppsättningen.

Lagringstjänsten stöder en delmängd av ANSI-SQL WHERE-satsens grammatik för värdet för where=<expression> frågeparametern. Följande operatorer stöds:

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'

Obs! Värdet för where URI-parametern måste vara korrekt URI-kodat (inklusive blanksteg och operatorer). I exemplen ovan utelämnas detta för läsbarhet.

Alla taggvärden är strängar och de binära relationsoperatorer som stöds använder en lexikografisk sortering av taggvärdena. För att stödja datatyper som inte är strängar, inklusive siffror och datum, måste lämplig utfyllnad och sorterbar formatering användas. 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 (t.ex. "TagName" = 'TagValue'). Vi rekommenderar att du alltid omger taggnamn med dubbla citattecken.

Lagringstjänsten avvisar alla förfrågningar som innehåller ett ogiltigt uttryck med felkoden 400 (felaktig begäran).

Se även

Hantera och hitta data på Azure Blob Storage med blobindex
Auktorisera begäranden till Azure Storage
Status och felkoder
Felkoder för Blob Service