Dela via


Hitta blobar efter taggar i containern

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

Förfrågan

Du kan skapa begäran på Find Blobs by Tags in Container följande sätt. Vi rekommenderar HTTPS. Ersätt myaccount med namnet på ditt lagringskonto och mycontainer med namnet på din lagringscontainer.

URI för GET-metodbegäran HTTP-version
https://myaccount.blob.core.windows.net/mycontainer?restype=container&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.

Information om hur du skapar det här uttrycket finns i Kommentarer senare i den här artikeln.
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 men ändå 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

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 in Container 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 in Container å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 in Container stöds i REST API version 2021-04-10 och senare.

Det sekundära indexet som Find Blobs by Tags in Container 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 in Container åtgärder.

Skapa ett sökuttryck

URI-parametern where hittar blobar i lagringskontot och containern vars taggar matchar ett uttryck. Uttrycket måste utvärderas för att true 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 Logiskt och &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'

Anteckning

Värdet för where URI-parametern måste vara korrekt URI-kodat (inklusive blanksteg och operatorer). Föregående exempel utelämnar detta för läsbarhet. @container stöds inte när containern är en del av en URI.

Alla taggvärden är strängar. De binära relationsoperatorer som stöds använder en lexikografiska 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 att komma undan. 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 till exempel tillfaller en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Find Blobs by Tags in Container begäranden baserat på lagringskontotypen:

Åtgärd Typ av lagringskonto Faktureringskategori
Hitta blobar efter taggar i containern 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