Suchen nach Blobs anhand von Tags
Der Find Blobs by Tags
Vorgang findet alle Blobs im Speicherkonto, deren Tags mit einem Suchausdruck übereinstimmen.
Anforderung
Sie können die Find Blobs by Tags
Anforderung wie folgt erstellen. Wir empfehlen HTTPS. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos.
GET-Methodenanforderungs-URI | HTTP-Version |
---|---|
https://myaccount.blob.core.windows.net?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 enthalten sind, deren Tags dem angegebenen Ausdruck entsprechen. Weitere Informationen zum Erstellen dieses Ausdrucks finden Sie 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 sollen, gibt der Dienst ein Fortsetzungstoken im NextMarker Antwortelement zurück. In bestimmten Fällen gibt der Dienst möglicherweise weniger Ergebnisse als maxresults angegeben zurück. Der Dienst kann auch ein Fortsetzungstoken zurückgeben.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 erforderliche und optionale 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 beim Konfigurieren der Protokollierung in den Protokollen aufgezeichnet wird. 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 application/xml als Inhaltstyp an. |
Content-Length |
Gibt die Größe des zurückgegebenen XML-Dokuments in Bytes an. |
x-ms-request-id |
Identifiziert eindeutig die Anforderung, die gestellt wurde. Sie können es verwenden, um die Problembehandlung für die Anforderung zu beheben. Weitere Informationen finden Sie unter Problembehandlung bei API-Vorgängen. |
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 die Uhrzeit angibt, zu der der Dienst die Antwort gesendet hat. |
x-ms-client-request-id |
Kann verwendet werden, um Anforderungen und entsprechende Antworten zu behandeln. 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 aufweist. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist dieser Header in der Antwort nicht vorhanden. |
Antworttext
In Version 2020-04-08 und höher werden die übereinstimmenden Tags des Blobs in einem Tags
Element gekapselt. 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 wohlgeformtes UTF-8-XML-Dokument.
Authorization
Beim Aufrufen eines Datenzugriffsvorgangs in Azure Storage ist eine Autorisierung erforderlich. Sie können den Find Blobs by Tags
Vorgang wie unten beschrieben autorisieren.
Wichtig
Microsoft empfiehlt die Verwendung 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 überlegene Sicherheit und Benutzerfreundlichkeit.
Azure Storage unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen an Blobdaten. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung (Azure RBAC) von Azure 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 mit Microsoft Entra ID.
Berechtigungen
Nachfolgend sind die RBAC-Aktion aufgeführt, die für einen Microsoft Entra Benutzer, Gruppe, verwaltete Identität oder Dienstprinzipal erforderlich ist, um den Find Blobs by Tags
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 Berechtigungen:Speicherblobdatenbesitzer
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
Vorgang wird in der REST-API-Version 2019-12-12 und höher unterstützt.
Für Konten mit aktiviertem hierarchischen Namespace wird der Find Blobs by Tags
Vorgang nicht unterstützt, da Blobtags für hierarchische Namespacekonten nicht unterstützt werden.
Der sekundäre Index, der verwendet wird, Find Blobs by Tags
ist schließlich konsistent. Updates zu Blobtags über Set Blob Tags
sind für Vorgänge möglicherweise nicht sofort sichtbarFind Blobs by Tags
.
Erstellen eines Suchausdrucks
Der where
URI-Parameter findet Blobs im Speicherkonto, deren Tags mit einem Ausdruck übereinstimmen. Der Ausdruck muss ausgewertet werden, damit true
ein Blob im Resultset zurückgegeben wird.
Der Speicherdienst unterstützt eine Teilmenge der ANSI SQL-Klauselgrammatik 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' |
@container |
Angeben eines Containers | &where=@container='mycontainer' AND Name = 'C' |
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.
Alle Tagwerte sind Zeichenfolgen. Die unterstützten binären relationalen Operatoren verwenden eine lexikographische Sortierung der Tagwerte. Um Nicht-Zeichenfolgen-Datentypen zu unterstützen, einschließlich Zahlen und Datumsangaben, müssen Sie entsprechende 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 Flucht vorhanden sein. Wenn sie Sonderzeichen enthalten, müssen sie mit doppelten Anführungszeichen (z. B "TagName"
= TagValue
. ) getrennt werden. Es wird empfohlen, Tagnamen immer in doppelte Anführungszeichen zu setzen.
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 Belastung des Kontos aus. Beispielsweise werden Lesetransaktionen in eine andere Abrechnungskategorie als das Schreiben von Transaktionen angewendet. Die folgende Tabelle zeigt die Abrechnungskategorie für Find Blobs by Tags
Anforderungen basierend auf dem Speicherkontotyp:
Vorgang | Speicherkontotyp | Abrechnungskategorie |
---|---|---|
Suchen nach Blobs anhand von Tags | Premium, Blockblob Standard „Allgemein v2“ Standard „Allgemein v1“ |
Auflisten und Create Containervorgänge |
Weitere Informationen zu Preisen für die angegebene Abrechnungskategorie finden Sie unter Azure Blob Storage Preise.
Weitere Informationen
Verwalten und Suchen von Daten auf Azure Blob Storage mit Blobindextags
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes
Blob Storage-Fehlercodes