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.
Wichtig
Microsoft empfiehlt die Verwendung von Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen an Azure Storage zu autorisieren. Microsoft Entra ID bietet im Vergleich zur Autorisierung mit gemeinsam genutzten Schlüsseln eine höhere Sicherheit und Benutzerfreundlichkeit.
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
Nachfolgend sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, eine Gruppe, eine verwaltete Identität 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:
- Azure RBAC-Aktion:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
- Integrierte Rolle mit den geringsten Rechten:Besitzer von Speicherblobdaten
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 Create 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