Blobs zoeken op tags in container

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

Aanvraag

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

GET-methode-aanvraag-URI HTTP-versie
https://myaccount.blob.core.windows.net/mycontainer?restype=container&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 zodat alleen blobs worden opgenomen waarvan de tags overeenkomen met de opgegeven expressie.

Zie Opmerkingen verderop in dit artikel voor meer informatie over het samenstellen van deze expressie.
marker Optioneel. Een tekenreekswaarde die het gedeelte 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 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 te retourneren. Als de aanvraag geen waarde opgeeft maxresults die groter is dan 5.000, retourneert de server maximaal 5000 items. Als er aanvullende resultaten moeten worden geretourneerd, retourneert de service een vervolgtoken in het NextMarker antwoordelement. In bepaalde gevallen retourneert de service mogelijk minder resultaten dan maxresults is opgegeven, maar retourneert de service nog steeds een vervolgtoken.

Als u een maxresults waarde instelt 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. Zie Aanvragen voor Azure Storage autoriseren voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen voor Azure Storage autoriseren 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 Uniek identificeert 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 de tijd 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

De indeling van de antwoordtekst 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 in Container 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 door Azure beheerde 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 behulp van 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 in Container bewerking aan te roepen, en de ingebouwde Azure RBAC-rol met de minste bevoegdheden 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 in Container bewerking wordt ondersteund in REST API-versie 2021-04-10 en hoger.

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

Een zoekexpressie maken

De where URI-parameter zoekt blobs in het opslagaccount en de container waarvan de tags overeenkomen met een expressie. De expressie moet evalueren om true een blob te 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'

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. @container wordt niet ondersteund wanneer de container deel uitmaakt van een URI.

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 escape. 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 hebben bijvoorbeeld een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Find Blobs by Tags in Container aanvragen op basis van het type opslagaccount:

Bewerking Type opslagaccount Factureringscategorie
Blobs zoeken op tags in container Premium blok-blob
Standaard v2 voor algemeen gebruik
Standaard 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 blobindextags
Aanvragen autoriseren voor Azure Storage
Status en foutcodes
Blob Storage-foutcodes