Hitta blobar efter taggar

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

Förfrågan

Du kan skapa begäran på Find Blobs by Tags följande sätt. Vi rekommenderar HTTPS. 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

Du kan ange följande ytterligare parametrar för begärande-URI:n:

Parameter Beskrivning
expression Krävs. Filtrerar resultatuppsättningen så att den endast innehåller 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 ogenomskinlig för klienten.
maxresults Valfritt. Anger det maximala antalet blobar som ska returneras. Om begäran inte anger maxresults eller anger ett värde som är större än 5 000 returnerar servern upp till 5 000 objekt. Om det finns ytterligare resultat att returnera returnerar tjänsten en fortsättningstoken i svarselementet NextMarker . I vissa fall kan tjänsten returnera färre resultat än maxresults vad som anges. Tjänsten kan också returnera en fortsättningstoken.

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

Begärandehuvuden

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

Begärandehuvud Beskrivning
Authorization Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till 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 till Azure Storage.
x-ms-version Krävs för alla auktoriserade begäranden, men 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-tjänsterna.
x-ms-client-request-id Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggningen har konfigurerats. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot.

Begärandetext

Inga.

Svarsåtgärder

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

Statuskod

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

Information om statuskoder finns i Status och felkoder.

Svarshuvuden

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

Svarsrubrik Description
Content-Type Anger application/xml som innehållstyp.
Content-Length Anger storleken på det returnerade XML-dokumentet i byte.
x-ms-request-id Identifierar unikt den begäran som gjordes. Du kan använda den för att felsöka begäran. Mer information finns i Felsöka API-åtgärder.
x-ms-version Anger vilken version av Azure Blob Storage som användes för att köra begäran.
Date Ett UTC-datum/tid-värde som anger den tid då tjänsten skickade svaret.
x-ms-client-request-id Kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet x-ms-client-request-id för huvudet, om det finns i begäran och värdet är högst 1 024 synliga ASCII-tecken. x-ms-client-request-id Om rubriken inte finns i begäran visas inte det här huvudet i svaret.

Själva svaret

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älformat UTF-8 XML-dokument.

Auktorisering

Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera åtgärden enligt beskrivningen Find Blobs by Tags nedan.

Viktigt

Microsoft rekommenderar att du använder Microsoft Entra ID med hanterade identiteter för att auktorisera begäranden till Azure Storage. Microsoft Entra ID ger överlägsen säkerhet och användarvänlighet jämfört med auktorisering av delad nyckel.

Azure Storage stöder användning av Microsoft Entra ID för att auktorisera begäranden till blobdata. Med Microsoft Entra ID kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt. Säkerhetsobjektet kan vara en användare, grupp, programtjänstens huvudnamn eller en hanterad Azure-identitet. Säkerhetsobjektet autentiseras av Microsoft Entra ID för att returnera en OAuth 2.0-token. Token kan sedan användas för att auktorisera en begäran mot Blob-tjänsten.

Mer information om auktorisering med Microsoft Entra ID finns i Auktorisera åtkomst till blobar med Microsoft Entra ID.

Behörigheter

Nedan visas den RBAC-åtgärd som krävs för att en Microsoft Entra användare, grupp, hanterad identitet eller tjänstens huvudnamn ska anropa Find Blobs by Tags åtgärden och den minst privilegierade inbyggda Azure RBAC-rollen som inkluderar den här åtgärden:

Mer information om hur du tilldelar roller med Azure RBAC finns i Tilldela en Azure-roll för åtkomst till blobdata.

Kommentarer

Åtgärden Find Blobs by Tags stöds i REST API-version 2019-12-12 och senare.

För konton med hierarkiskt namnområde aktiverat Find Blobs by Tags stöds inte åtgärden eftersom blobtaggar inte stöds för hierarkiska namnområdeskonton.

Det sekundära index som Find Blobs by Tags använder är så småningom konsekvent. Uppdateringar till blobtaggar via Set Blob Tags kanske inte är direkt synliga för Find Blobs by Tags åtgärder.

Skapa ett sökuttryck

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

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

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 Logiska och &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container Ange en container &where=@container='mycontainer' AND Name = 'C'

Anteckning

Värdet för URI-parametern where måste vara korrekt URI-kodat (inklusive blanksteg och operatorer). Föregående exempel utelämnar detta för läsbarhet.

Alla taggvärden är strängar. De binära relationsoperatorer som stöds använder en lexiicografisk sortering av taggvärdena. Om du vill ha stöd för datatyper som inte är strängar, inklusive tal och datum, måste du använda lämplig utfyllnad och sorterbar formatering. 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 (till exempel "TagName" = TagValue). Vi rekommenderar att du alltid omger taggnamn inom dubbla citattecken.

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

Fakturering

Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via REST-API:et för Blob Storage eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner ackumuleras till exempel till en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Find Blobs by Tags begäranden baserat på lagringskontotypen:

Åtgärd Typ av lagringskonto Faktureringskategori
Hitta blobar efter taggar Premium-blockblob
Standard generell användning v2
Standard generell användning v1
Lista och Skapa containeråtgärder

Mer information om priser för den angivna faktureringskategorin finns i Azure Blob Storage Prissättning.

Se även

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