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.
Belangrijk
Microsoft raadt het gebruik van Microsoft Entra ID met beheerde identiteiten aan om aanvragen voor Azure Storage te autoriseren. Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak in vergelijking met autorisatie met gedeelde sleutels.
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, beheerde identiteit of service-principal om de Find Blobs by Tags
bewerking aan te roepen, en de ingebouwde Azure RBAC-rol met de minste bevoegdheden die deze actie omvat:
- Azure RBAC-actie:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
- Ingebouwde rol met minimale bevoegdheden:Eigenaar van opslagblobgegevens
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
URI-parameter vindt blobs in het opslagaccount 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' |
@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 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
aanvragen op basis van het type opslagaccount:
Bewerking | Type opslagaccount | Factureringscategorie |
---|---|---|
Blobs zoeken op tags | Premium blok-blob Standaard v2 voor algemeen gebruik Standaard v1 voor algemeen gebruik |
Containerbewerkingen weergeven en Creatie |
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