Použití značek indexu objektů blob ke správě a hledání dat pomocí Javy
Tento článek ukazuje, jak pomocí značek indexu objektů blob spravovat a vyhledávat data pomocí klientské knihovny azure Storage pro Javu.
Požadavky
- Tento článek předpokládá, že už máte projekt nastavený tak, aby fungoval s klientskou knihovnou služby Azure Blob Storage pro Javu. Další informace o nastavení projektu, včetně instalace balíčku, přidání
import
direktiv a vytvoření autorizovaného objektu klienta, najdete v tématu Začínáme se službou Azure Storage a Javou. - Autorizační mechanismus musí mít oprávnění pro práci se značkami indexu objektů blob. Další informace najdete v pokynech k autorizaci pro následující operace rozhraní REST API:
O značkách indexu objektů blob
Značky indexu objektů blob kategorizují data v účtu úložiště pomocí atributů značek klíč-hodnota. Tyto značky se automaticky indexují a zveřejňují jako prohledávatelný multidimenzionální index, aby bylo možné snadno najít data. V tomto článku se dozvíte, jak nastavit, získat a najít data pomocí značek indexu objektů blob.
Značky indexu objektů blob nejsou podporované pro účty úložiště s povoleným hierarchickým oborem názvů. Další informace o funkci značky indexu objektů blob spolu se známými problémy a omezeními najdete v tématu Správa a vyhledání dat objektů blob pomocí značek indexu objektů blob.
Nastavení značek
Značky indexu můžete nastavit, pokud má váš kód autorizovaný přístup k datům objektů blob prostřednictvím jednoho z následujících mechanismů:
- Objekt zabezpečení, který má přiřazenou roli Azure RBAC s akcí Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write . Vlastník dat objektu blob služby Storage je předdefinovaná role, která zahrnuje tuto akci.
- Sdílený přístupový podpis (SAS) s oprávněním pro přístup ke značek objektu blob (
t
oprávnění) - Klíč účtu
Další informace najdete v tématu Nastavení značek indexu objektů blob.
Značky můžete nastavit pomocí následující metody:
Zadané značky v této metodě nahradí existující značky. Pokud staré hodnoty musí být zachovány, musí být staženy a zahrnuty do volání této metody. Následující příklad ukazuje, jak nastavit značky:
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);
}
Všechny značky můžete odstranit předáním prázdného Map
objektu setTags
do metody:
public void clearBlobTags(BlobClient blobClient) {
Map<String, String> tags = new HashMap<String, String>();
blobClient.setTags(tags);
}
Získání značek
Pokud má váš kód autorizovaný přístup k datům objektů blob, můžete získat značky indexu prostřednictvím jednoho z následujících mechanismů:
- Objekt zabezpečení, který má přiřazenou roli Azure RBAC s akcí Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read . Vlastník dat objektu blob služby Storage je předdefinovaná role, která zahrnuje tuto akci.
- Sdílený přístupový podpis (SAS) s oprávněním pro přístup ke značek objektu blob (
t
oprávnění) - Klíč účtu
Další informace najdete v tématu Získání a výpis značek indexu objektů blob.
Značky můžete získat pomocí následující metody:
Následující příklad ukazuje, jak načíst a iterovat značky objektu blob:
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());
}
Filtrování a hledání dat pomocí značek indexu objektů blob
Pomocí značek indexu můžete vyhledávat a filtrovat data, pokud váš kód má autorizovaný přístup k datům objektů blob prostřednictvím jednoho z následujících mechanismů:
- Objekt zabezpečení, který má přiřazenou roli Azure RBAC s akcí Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action . Vlastník dat objektu blob služby Storage je předdefinovaná role, která zahrnuje tuto akci.
- Sdílený přístupový podpis (SAS) s oprávněním k filtrování objektů blob podle značek (
f
oprávnění) - Klíč účtu
Další informace najdete v tématu Hledání dat pomocí značek indexu objektů blob.
Poznámka:
K načtení předchozích verzí nemůžete použít značky indexu. Značky pro předchozí verze se nepředávají do indexového modulu objektů blob. Další informace naleznete v tématu Podmínky a známé problémy.
Data můžete najít pomocí následující metody:
Následující příklad najde všechny objekty blob označené jako obrázek:
public void findBlobsByTag(BlobContainerClient blobContainerClient) {
String query = "\"Content\"='image'";
blobContainerClient.findBlobsByTags(query)
.forEach(blob -> System.out.printf("Name: %s%n", blob.getName()));
}
Zdroje informací
Další informace o použití značek indexů ke správě a hledání dat pomocí klientské knihovny azure Blob Storage pro Javu najdete v následujících zdrojích informací.
Operace rozhraní REST API
Sada Azure SDK pro Javu obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat Javy. Metody klientské knihovny pro správu a používání značek indexu objektů blob používají následující operace rozhraní REST API:
- Získání značek objektů blob (REST API)
- Nastavení značek objektů blob (REST API)
- Vyhledání objektů blob podle značek (REST API)
Ukázky kódu
Prostředky klientské knihovny
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro