Blobs zoeken op tags

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

Aanvraag

U kunt de Find Blobs by Tags aanvraag als volgt samenstellen. We raden HTTPS aan. Vervang myaccount door de naam van uw opslagaccount.

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

URI-parameters

U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI:

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

Zie Opmerkingen voor meer informatie over het maken van deze expressie.
marker Optioneel. Een tekenreekswaarde die het deel van de resultatenset aangeeft dat bij de volgende bewerking moet worden geretourneerd. De bewerking retourneert een markeringswaarde in de hoofdtekst van het antwoord als de geretourneerde resultatenset niet is voltooid. De markeringswaarde kan vervolgens in een volgende aanroep worden gebruikt 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 opgeeft maxresults of opgeeft die groter is dan 5.000, retourneert de server maximaal 5000 items. Als er extra resultaten moeten worden geretourneerd, retourneert de service een vervolgtoken in het NextMarker antwoordelement. In bepaalde gevallen retourneert de service mogelijk minder resultaten dan maxresults opgegeven. De service kan ook een vervolgtoken retourneren.

Als u instelt maxresults op een waarde die kleiner is dan of gelijk is aan nul, resulteert dit in foutcode 400 (ongeldige aanvraag).
timeout Optioneel. Uitgedrukt in seconden. Zie Time-outs instellen voor Blob Storage-bewerkingen voor meer informatie.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven:

Aanvraagheader Beschrijving
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, maar optioneel voor anonieme aanvragen. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. 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 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt.

Aanvraagbody

Geen.

Antwoord

Het antwoord bevat een HTTP-statuscode, antwoordheaders en een antwoordtekst.

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 extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoordheader Description
Content-Type Hiermee geeft u application/xml op als het inhoudstype.
Content-Length Hiermee geeft u de grootte van het geretourneerde XML-document, in bytes.
x-ms-request-id Identificeert op unieke wijze de aanvraag die is gedaan. U kunt deze gebruiken om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version Geeft de versie van Azure Blob Storage aan die is gebruikt om de aanvraag uit te voeren.
Date Een UTC-datum/tijd-waarde die het tijdstip aangeeft waarop de service het antwoord heeft verzonden.
x-ms-client-request-id 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 is. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze header niet aanwezig in het antwoord.

Hoofdtekst van de reactie

In versie 2020-04-08 en hoger worden de overeenkomende tags van de blob ingekapseld in 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 antwoordtekst is een goed opgemaakt UTF-8 XML-document.

Autorisatie

Autorisatie is vereist bij het aanroepen van een bewerking voor gegevenstoegang in Azure Storage. U kunt de Find Blobs by Tags bewerking autoriseren zoals hieronder wordt beschreven.

Azure Storage ondersteunt het gebruik van Microsoft Entra ID om aanvragen voor blobgegevens te autoriseren. Met Microsoft Entra ID kunt u op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) gebruiken om machtigingen te verlenen aan een beveiligingsprincipal. De beveiligingsprincipal kan een gebruiker, groep, toepassingsservice-principal of beheerde Azure-identiteit zijn. De beveiligingsprincipal wordt geverifieerd door Microsoft Entra ID om een OAuth 2.0-token te retourneren. Het token kan vervolgens worden gebruikt om een aanvraag voor de Blob-service te autoriseren.

Zie Toegang tot blobs autoriseren met Microsoft Entra ID voor meer informatie over autorisatie met behulp van Microsoft Entra ID.

Machtigingen

Hieronder vindt u de RBAC-actie die nodig is voor een Microsoft Entra gebruiker, groep of service-principal om de Find Blobs by Tags bewerking aan te roepen, en de minst bevoorrechte ingebouwde Azure RBAC-rol die deze actie omvat:

Zie Een Azure-rol toewijzen voor toegang tot blobgegevens voor meer informatie over het toewijzen van rollen met behulp van Azure RBAC.

Opmerkingen

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

Voor accounts waarvoor hiërarchische naamruimte is ingeschakeld, wordt de Find Blobs by Tags bewerking niet ondersteund omdat blobtags niet worden ondersteund voor hiërarchische naamruimteaccounts.

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

Een zoekexpressie maken

De where parameter URI vindt blobs in het opslagaccount waarvan de tags overeenkomen met een expressie. De expressie moet worden geëvalueerd om true een blob te laten retourneren in de resultatenset.

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

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 Logische en &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container Een container opgeven &where=@container='mycontainer' AND Name = 'C'

Notitie

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

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

Als tagnamen normale 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). We raden u aan tagnamen altijd tussen dubbele aanhalingstekens te plaatsen.

De opslagservice weigert elke aanvraag die een ongeldige expressie met foutcode 400 (Ongeldige aanvraag) bevat.

Billing

Prijsaanvragen kunnen afkomstig zijn van clients die gebruikmaken van Blob Storage-API's, rechtstreeks via de Blob Storage REST API of vanuit een Azure Storage-clientbibliotheek. Met deze aanvragen worden kosten per transactie in rekening gebracht. Het type transactie is van invloed op de manier waarop de rekening in rekening wordt gebracht. Leestransacties worden bijvoorbeeld toegevoegd aan een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Find Blobs by Tags aanvragen op basis van het type opslagaccount:

Bewerking Type opslagaccount Factureringscategorie
Blobs zoeken op tags Premium-blok-blob
Standard v2 voor algemeen gebruik
Standard v1 voor algemeen gebruik
Containerbewerkingen weergeven en maken

Zie prijzen voor Azure Blob Storage voor meer informatie over prijzen voor de opgegeven factureringscategorie.

Zie ook

Gegevens op Azure Blob Storage beheren en zoeken met blob-indextags
Aanvragen voor Azure Storage autoriseren
Status en foutcodes
Blob Storage-foutcodes