Verwenden von Blobindextags zum Verwalten und Suchen von Daten mit Java
In diesem Artikel wird beschrieben, wie Blobindextags zum Verwalten und Suchen von Daten mithilfe der Azure Storage-Clientbibliothek für Java verwendet werden.
Voraussetzungen
- In diesem Artikel wird davon ausgegangen, dass Sie bereits ein Projekt für die Arbeit mit der Azure Blob Storage-Clientbibliothek für Java eingerichtet haben. Informationen zum Einrichten Ihres Projekts – einschließlich Paketinstallation, Hinzufügen von
import
-Anweisungen und Erstellen eines autorisierten Clientobjekts – finden Sie unter Erste Schritte mit Azure Storage und Java. - Der Autorisierungsmechanismus muss über Berechtigungen zum Arbeiten mit Blobindextags verfügen. Weitere Informationen finden Sie im Autorisierungsleitfaden für die folgenden REST-API-Vorgänge:
Informationen zu Blobindextags
Blobindextags kategorisieren Daten in Ihrem Speicherkonto mithilfe von Schlüssel-Wert-Tagattributen. Diese Tags werden automatisch indiziert und als durchsuchbarer mehrdimensionaler Index verfügbar gemacht, um Daten einfach finden zu können. In diesem Artikel wird erörtert, wie Sie Daten mithilfe von Blobindextags festlegen, abrufen und suchen.
Blobindextags werden für Speicherkonten mit aktivierten hierarchischen Namespaces nicht unterstützt. Weitere Informationen zu diesem Blobindextag sowie zu bekannten Problemen und Einschränkungen finden Sie unter Verwalten und Finden von Azure-Blobdaten mit Blobindextags (Vorschau).
Festlegen von Tags
Sie können Indextags festlegen, wenn Ihr Code autorisierten Zugriff auf Blobdaten über einen der folgenden Mechanismen hat:
- Sicherheitsprinzipal, dem mit der Aktion Microsoft.Storage/storageAccounts/blobServices/containers/blobs/blobs/tags/write eine Azure RBAC-Rolle zugewiesen ist. Der Besitzer von Speicherblobdaten ist eine integrierte Rolle, welche diese Aktion umfasst.
- Shared Access Signature (SAS) mit Zugriffsberechtigung für die Tags des Blobs (
t
-Berechtigung) - Kontoschlüssel
Weitere Informationen finden Sie unter Festlegen von Blobindextags.
Sie können Tags mithilfe der folgenden Methode festlegen:
Die in dieser Methode angegebenen Tags ersetzen vorhandene Tags. Wenn alte Werte beibehalten werden müssen, müssen sie heruntergeladen und in den Aufruf der Methode einbezogen werden. Im folgenden Beispiel wird gezeigt, wie Tags festgelegt werden:
public void setBlobTags(BlobClient blobClient) {
// Get any existing tags for the blob if they need to be preserved
Map<String, String> tags = blobClient.getTags();
// Add or modify tags
tags.put("Sealed", "false");
tags.put("Content", "image");
tags.put("Date", "2022-01-01");
// setTags will replace existing tags with the map entries we pass in
blobClient.setTags(tags);
}
Sie können alle Tags löschen, indem Sie ein leeres Map
-Objekt in die Methode setTags
übergeben:
public void clearBlobTags(BlobClient blobClient) {
Map<String, String> tags = new HashMap<String, String>();
blobClient.setTags(tags);
}
Abrufen von Tags
Sie können Indextags abrufen, wenn Ihr Code autorisierten Zugriff auf Blobdaten über einen der folgenden Mechanismen hat:
- Sicherheitsprinzipal, dem mit der Aktion Microsoft.Storage/storageAccounts/blobServices/containers/blobs/blobs/tags/read eine Azure RBAC-Rolle zugewiesen ist. Der Besitzer von Speicherblobdaten ist eine integrierte Rolle, welche diese Aktion umfasst.
- Shared Access Signature (SAS) mit Zugriffsberechtigung für die Tags des Blobs (
t
-Berechtigung) - Kontoschlüssel
Weitere Informationen finden Sie unter Abrufen und Auflisten von Blobindextags.
Sie können Tags mithilfe der folgenden Methode aufrufen:
Im folgenden Beispiel wird gezeigt, wie die Tags des Blobs abgerufen und durchlaufen werden:
public void getBlobTags(BlobClient blobClient) {
Map<String, String> tags = blobClient.getTags();
System.out.println("Blob tags:");
for (Map.Entry<String, String> entry : tags.entrySet())
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
Filtern und Suchen von Daten mit Blobindextags
Sie können Daten mithilfe von Indextags suchen und filtern, wenn Ihr Code autorisierten Zugriff auf Blobdaten über einen der folgenden Mechanismen hat:
- Sicherheitsprinzipal, dem mit der Aktion Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action eine Azure RBAC-Rolle zugewiesen ist. Der Besitzer von Speicherblobdaten ist eine integrierte Rolle, welche diese Aktion umfasst.
- Shared Access Signature (SAS) mit der Berechtigung zum Filtern von Blobs nach Tags (
f
-Berechtigung) - Kontoschlüssel
Weitere Informationen finden Sie unter Suchen nach Daten mithilfe von Blobindextags.
Hinweis
Indextags können nicht verwendet werden, um frühere Versionen abzurufen. Tags für Vorgängerversionen werden nicht an das Blobindexmodul übermittelt. Weitere Informationen finden Sie unter Bedingungen und bekannte Probleme.
Sie können für das Suchen von Daten eine der folgenden Methoden verwenden:
Im folgenden Beispiel werden alle Blobs gesucht, die als Image gekennzeichnet wurden:
public void findBlobsByTag(BlobContainerClient blobContainerClient) {
String query = "\"Content\"='image'";
blobContainerClient.findBlobsByTags(query)
.forEach(blob -> System.out.printf("Name: %s%n", blob.getName()));
}
Ressourcen
Weitere Informationen zur Verwendung von Indextags zum Verwalten und Suchen von Daten mithilfe der Azure Blob Storage-Clientbibliothek für Java finden Sie in den folgenden Ressourcen.
REST-API-Vorgänge
Das SDK für Java enthält Bibliotheken, die auf der zugrunde liegenden Azure-REST-API basieren, und ermöglicht Ihnen dadurch die Interaktion mit REST-API-Vorgängen über vertraute Java-Paradigmen. Die Methoden der Clientbibliothek zum Verwalten und Verwenden von Blobindextags verwenden die folgenden REST-API-Vorgänge:
- Abrufen von Blobtags (REST-API)
- Festlegen von Blobtags (REST-API)
- Suchen von Blob anhand von Tags (REST-API)
Codebeispiele
Ressourcen zur Clientbibliothek
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für