Bewerking Blobs zoeken op tags

Met de Find Blobs by Tags bewerking worden alle blobs in het opslagaccount gevonden waarvan de tags overeenkomen met een bepaalde zoekexpressie.

Aanvraag

De Find Blobs by Tags aanvraag kan als volgt worden samengesteld. HTTPS wordt aanbevolen. Vervang myaccount door de naam van uw opslagaccount:

URI voor GET-methodeaanvraag HTTP-versie
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> HTTP/1.1

URI-parameters

De volgende aanvullende parameters kunnen worden opgegeven op de aanvraag-URI.

Parameter Beschrijving
expression Vereist. Filtert de resultatenset op alleen blobs waarvan de tags overeenkomen met de opgegeven expressie.

Zie de opmerkingen voor meer informatie over het maken van deze expressie.
marker Optioneel. Een tekenreekswaarde die het gedeelte van de resultatenset identificeert dat moet worden geretourneerd met de volgende bewerking. De bewerking retourneert een markeringswaarde in de hoofdtekst van het antwoord als de geretourneerde resultatenset niet is voltooid. De markeringswaarde kan vervolgens worden gebruikt in een volgende aanroep om de volgende set items aan te vragen.

De markeringswaarde is ondoorzichtig voor de client.
maxresults Optioneel. Hiermee geeft u het maximum aantal blobs dat moet worden geretourneerd. Als de aanvraag geen waarde van meer dan 5.000 opgeeft of opgeeft, retourneert maxresults de server maximaal 5000 items. Als er extra resultaten moeten worden geretourneerd, retourneert de service een vervolgtoken in het NextMarker antwoordelement. In bepaalde gevallen kan de service minder resultaten retourneren dan opgegeven door maxresults en ook een vervolgtoken retourneren.

Als u maxresults een waarde instelt die kleiner is dan of gelijk is aan nul, resulteert dit in foutcode 400 (Ongeldige aanvraag).
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs voor blobservicebewerkingen instellen voor meer informatie.

Aanvraagheaders

In de volgende tabel worden de vereiste en optionele aanvraagheaders beschreven.

Aanvraagkoptekst Description
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Vereist voor alle geautoriseerde aanvragen, optioneel voor anonieme aanvragen. Hiermee geeft u de versie van de bewerking die voor deze aanvraag moet worden gebruikt. Zie Versiebeheer voor de Azure Storage Services voor meer informatie.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 KiB-tekens die wordt vastgelegd in de analyselogboeken wanneer logboekregistratie voor opslaganalyse is ingeschakeld. Het gebruik van deze header wordt ten zeerste aanbevolen voor het correleren van activiteiten aan clientzijde met aanvragen die door de server worden ontvangen. Zie Informatie over Opslaganalyse logboekregistratie en Azure-logboekregistratie: logboeken gebruiken om Storage aanvragen bij te houden.

Aanvraagbody

Geen.

Antwoord

Het antwoord bevat een HTTP-statuscode, antwoordheaders en hoofdtekst van het antwoord.

Statuscode

Een geslaagde bewerking retourneert statuscode 200 (OK).

Zie Status en Foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook aanvullende standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de http/1.1-protocolspecificatie.

Antwoordheader Description
Content-Type application/xml
Content-Length De grootte van het geretourneerde XML-document, in bytes
x-ms-request-id Deze header identificeert de aanvraag die is gedaan en kan worden gebruikt voor het oplossen van problemen met de aanvraag. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version Geeft de versie van de Blob-service aan die wordt gebruikt om de aanvraag uit te voeren.
Date Een UTC-datum/tijd-waarde die wordt gegenereerd door de service die het tijdstip aangeeft waarop het antwoord is gestart.
x-ms-client-request-id Deze header kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header als deze aanwezig is in de aanvraag en de waarde maximaal 1024 zichtbare ASCII-tekens bevat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze header niet aanwezig in het antwoord.

Hoofdtekst van antwoord

In versie 2020-04-08 en hoger worden de overeenkomende tags van de blob ingekapseld binnen een tags-element. De indeling van de hoofdtekst van het antwoord is als volgt:

<?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>  

De hoofdtekst van het antwoord is een goed opgemaakt UTF-8 XML-document.

Autorisatie

Deze bewerking kan worden aangeroepen door de accounteigenaar en door iedereen met een Shared Access Signature die gemachtigd is om blobs te zoeken op tags (de f SAS-machtiging).

Daarnaast kunnen RBAC-gebruikers met de Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action machtiging deze bewerking uitvoeren.

Opmerkingen

De Find Blobs by Tags bewerking wordt ondersteund in REST API versie 2019-12-12 en hoger.

De secundaire index die wordt gebruikt door Find Blobs by Tags , is uiteindelijk consistent. Updates voor blobtags via Set Blob Tags veel niet direct zichtbaar zijn voor Find Blobs by Tags bewerkingen.

Een zoekexpressie maken

De where URI-parameter vindt blobs in het opslagaccount waarvan de tags overeenkomen met een bepaalde expressie. De expressie moet resulteren true in een blob die moet worden geretourneerd in de resultatenset.

De opslagservice ondersteunt een subset van de ANSI-SQL WHERE-component grammatica voor de waarde van de where=<expression> queryparameter. De volgende operators worden ondersteund:

Operator Beschrijving Voorbeeld
= Is gelijk aan &where=Status = 'In Progress'
> Groter dan &where=LastModified > '2018-06-18 20:51:26Z'
>= Groter dan of gelijk aan &where=Priority >= '05'
< Kleiner dan &where=Age < '032'
<= Kleiner dan of gelijk aan &where=Reviewer <= 'Smith'
AND Logisch en &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container Een container opgeven &where=@container='mycontainer' AND Name = 'C'

Opmerking: de waarde van de where URI-parameter moet correct zijn gecodeerd met de URI (inclusief spaties en operators). In de bovenstaande voorbeelden wordt dit weggelaten voor leesbaarheid.

Alle tagwaarden zijn tekenreeksen en de ondersteunde binaire relationele operators gebruiken een lexicografische sortering van de tagwaarden. Als u niet-tekenreeksgegevenstypen, inclusief getallen en datums, wilt ondersteunen, moet de juiste opvulling en sorteerbare opmaak worden gebruikt. Tagwaarden moeten tussen enkele aanhalingstekens worden geplaatst.

Als tagnamen regelmatig SQL id's zijn, kunnen ze aanwezig zijn zonder te ontsnappen. Als ze speciale tekens bevatten, moeten ze worden gescheiden door dubbele aanhalingstekens (bijvoorbeeld 'TagName' = 'TagValue'). Het wordt aanbevolen om tagnamen altijd tussen dubbele aanhalingstekens te plaatsen.

De opslagservice weigert alle aanvragen die een ongeldige expressie bevatten met foutcode 400 (Ongeldige aanvraag).

Zie ook

Gegevens in Azure Blob Storage beheren en zoeken met blobindex
Aanvragen autoriseren voor Azure Storage
Status- en foutcodes
Foutcodes voor blob-services