Suchen von Blobs nach Tags im Container

Der Find Blobs by Tags in Container Vorgang sucht alle Blobs, deren Tags mit einem Suchausdruck in einem Container übereinstimmen.

Anforderung

Sie können die Find Blobs by Tags in Container Anforderung wie folgt erstellen. Wir empfehlen HTTPS. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos und mycontainer durch den Namen Ihres Speichercontainers.

GET-Methodenanforderungs-URI HTTP-Version
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=blobs&where=<expression> HTTP/1.1

URI-Parameter

Sie können im Anforderungs-URI die folgenden zusätzlichen Parameter angeben:

Parameter BESCHREIBUNG
expression Erforderlich. Filtert das Resultset so, dass nur Blobs eingeschlossen werden, deren Tags dem angegebenen Ausdruck entsprechen.

Informationen zum Erstellen dieses Ausdrucks finden Sie weiter unten in diesem Artikel unter Hinweise .
marker Optional. Ein Zeichenfolgenwert, der den Teil des Resultsets angibt, der beim nächsten Vorgang zurückgegeben werden soll. Der Vorgang gibt einen Markerwert innerhalb des Antworttexts zurück, wenn das zurückgegebene Resultset nicht vollständig war. Der Markerwert kann dann in einem nachfolgenden Aufruf verwendet werden, um den nächsten Satz von Elementen anzufordern.

Der Markerwert ist für den Client nicht transparent.
maxresults Optional. Gibt die maximale Anzahl von Blobs an, die zurückgegeben werden sollen. Wenn die Anforderung keinen wert größer als 5.000 angibt maxresults oder angibt, gibt der Server bis zu 5.000 Elemente zurück. Wenn zusätzliche Ergebnisse zurückgegeben werden müssen, gibt der Dienst ein Fortsetzungstoken NextMarker im Antwortelement zurück. In bestimmten Fällen gibt der Dienst möglicherweise weniger Ergebnisse als maxresults angegeben zurück, gibt aber trotzdem ein Fortsetzungstoken zurück.

Wenn maxresults auf einen Wert kleiner oder gleich 0 festgelegt ist, wird Fehlerantwortcode 400 ausgegeben (ungültige Anforderung).
timeout Optional. Ausgedrückt in Sekunden. Weitere Informationen finden Sie unter Festlegen von Timeouts für Blob Storage-Vorgänge.

Anforderungsheader

In der folgenden Tabelle werden die erforderlichen und optionalen Anforderungsheader beschrieben:

Anforderungsheader BESCHREIBUNG
Authorization Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
Date oder x-ms-date Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
x-ms-version Erforderlich für alle autorisierten Anforderungen, aber optional für anonyme Anforderungen. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
x-ms-client-request-id Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt.

Anforderungstext

Keine.

Antwort

Die Antwort enthält einen HTTP-status Code, Antwortheader und einen Antworttext.

Statuscode

Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben.

Informationen zu status Codes finden Sie unter Status- und Fehlercodes.

Antwortheader

Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann auch zusätzliche HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader BESCHREIBUNG
Content-Type Gibt als Inhaltstyp an application/xml .
Content-Length Gibt die Größe des zurückgegebenen XML-Dokuments in Bytes an.
x-ms-request-id Identifiziert die durchgeführte Anforderung eindeutig. Sie können ihn verwenden, um probleme mit der Anforderung zu beheben. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge.
x-ms-version Gibt die Version von Azure Blob Storage an, die zum Ausführen der Anforderung verwendet wurde.
Date Ein UTC-Datums-/Uhrzeitwert, der den Zeitpunkt angibt, zu dem der Dienst die Antwort gesendet hat.
x-ms-client-request-id Kann zur Problembehandlung von Anforderungen und entsprechenden Antworten verwendet werden. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist und der Wert höchstens 1.024 sichtbare ASCII-Zeichen umfasst. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist dieser Header in der Antwort nicht vorhanden.

Antworttext

Der Antworttext weist das folgende Format auf:

<?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>  

Der Antworttext ist ein wohlgeformte UTF-8-XML-Dokument.

Authorization

Beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage ist eine Autorisierung erforderlich. Sie können den Find Blobs by Tags in Container Vorgang wie unten beschrieben autorisieren.

Azure Storage unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen für Blobdaten. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) verwenden, um einem Sicherheitsprinzipal Berechtigungen zu erteilen. Der Sicherheitsprinzipal kann ein Benutzer, eine Gruppe, ein Anwendungsdienstprinzipal oder eine verwaltete Azure-Identität sein. Der Sicherheitsprinzipal wird von Microsoft Entra ID authentifiziert, um ein OAuth 2.0-Token zurückzugeben. Das Token kann anschließend zum Autorisieren einer Anforderung an den Blob-Dienst verwendet werden.

Weitere Informationen zur Autorisierung mit Microsoft Entra ID finden Sie unter Autorisieren des Zugriffs auf Blobs mithilfe von Microsoft Entra ID.

Berechtigungen

Unten sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, eine Gruppe oder einen Dienstprinzipal erforderlich ist, um den Find Blobs by Tags in Container Vorgang aufzurufen, und die integrierte Azure RBAC-Rolle mit den geringsten Berechtigungen, die diese Aktion enthält:

Weitere Informationen zum Zuweisen von Rollen mithilfe von Azure RBAC finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.

Hinweise

Der Find Blobs by Tags in Container Vorgang wird in der REST-API-Version 2021-04-10 und höher unterstützt.

Der sekundäre Index, der verwendet, Find Blobs by Tags in Container ist letztendlich konsistent. Updates zu Blobtags über Set Blob Tags sind für Vorgänge möglicherweise nicht sofort sichtbarFind Blobs by Tags in Container.

Erstellen eines Suchausdrucks

Der where URI-Parameter sucht Blobs im Speicherkonto und Container, deren Tags mit einem Ausdruck übereinstimmen. Der Ausdruck muss als true ausgewertet werden, damit ein Blob im Resultset zurückgegeben wird.

Der Speicherdienst unterstützt eine Teilmenge der GRAMMATIK der ANSI SQL-Klausel WHERE für den Wert des where=<expression> Abfrageparameters. Der Speicherdienst unterstützt die folgenden Operatoren:

Operator BESCHREIBUNG Beispiel
= Gleich &where=Status = 'In Progress'
> Größer als &where=LastModified > '2018-06-18 20:51:26Z'
>= Größer als oder gleich &where=Priority >= '05'
< Kleiner als &where=Age < '032'
<= Kleiner als oder gleich &where=Reviewer <= 'Smith'
AND Logisches AND &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'

Hinweis

Der Wert des where URI-Parameters muss ordnungsgemäß URI-codiert sein (einschließlich Leerzeichen und Operatoren). In den vorherigen Beispielen wird dies aus Gründen der Lesbarkeit weggelassen. @container wird nicht unterstützt, wenn der Container Teil eines URI ist.

Alle Tagwerte sind Zeichenfolgen. Die unterstützten binären relationalen Operatoren verwenden eine lexikografische Sortierung der Tagwerte. Um Datentypen ohne Zeichenfolgen zu unterstützen, einschließlich Zahlen und Datumsangaben, müssen Sie geeignete Auffüllungen und sortierbare Formatierungen verwenden. Tagwerte müssen in einfache Anführungszeichen eingeschlossen werden.

Wenn Tagnamen reguläre SQL-Bezeichner sind, können sie ohne Escapezeichen vorhanden sein. Wenn sie Sonderzeichen enthalten, müssen sie durch doppelte Anführungszeichen getrennt werden (z. B "TagName" = TagValue. ). Es wird empfohlen, Tagnamen immer in doppelte Anführungszeichen einzuschließen.

Der Speicherdienst lehnt jede Anforderung ab, die einen ungültigen Ausdruck mit dem Fehlercode 400 (Ungültige Anforderung) enthält.

Abrechnung

Preisanforderungen können von Clients stammen, die Blob Storage-APIs verwenden, entweder direkt über die Blob Storage-REST-API oder aus einer Azure Storage-Clientbibliothek. Für diese Anforderungen fallen Gebühren pro Transaktion an. Die Art der Transaktion wirkt sich auf die Abrechnung des Kontos aus. Beispielsweise werden Lesetransaktionen einer anderen Abrechnungskategorie zugeordnet als Schreibtransaktionen. Die folgende Tabelle zeigt die Abrechnungskategorie für Find Blobs by Tags in Container Anforderungen basierend auf dem Speicherkontotyp:

Vorgang Speicherkontotyp Abrechnungskategorie
Suchen von Blobs nach Tags im Container Premium, Blockblob
Standard „Allgemein v2“
Standard „Allgemein v1“
Auflisten und Erstellen von Containervorgängen

Informationen zu den Preisen für die angegebene Abrechnungskategorie finden Sie unter Azure Blob Storage Preise.

Weitere Informationen

Verwalten und Suchen von Daten in Azure Blob Storage mit Blobindextags
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes
Blob Storage-Fehlercodes