Condividi tramite


Usare i tag di indice BLOB per gestire e trovare dati con Java

Questo articolo illustra come usare i tag di indice BLOB per gestire e trovare dati usando la libreria client Archiviazione di Azure per Java.

Prerequisiti

  • Questo articolo presuppone che sia già stato configurato un progetto per l'uso con la libreria client Archiviazione BLOB di Azure per Java. Per informazioni sulla configurazione del progetto, tra cui l'installazione del pacchetto, l'aggiunta import di direttive e la creazione di un oggetto client autorizzato, vedere Introduzione a Archiviazione di Azure e Java.
  • Il meccanismo di autorizzazione deve disporre delle autorizzazioni necessarie per usare i tag di indice BLOB. Per altre informazioni, vedere le linee guida per l'autorizzazione per le operazioni API REST seguenti:

Informazioni sui tag di indice BLOB

I tag di indice BLOB classificano i dati nell'account di archiviazione usando gli attributi dei tag chiave-valore. Questi tag vengono indicizzati e esposti automaticamente come indice multidimensionale ricercabile per trovare facilmente i dati. Questo articolo illustra come impostare, ottenere e trovare i dati usando i tag indice BLOB.

I tag di indice BLOB non sono supportati per gli account di archiviazione con spazio dei nomi gerarchico abilitato. Per altre informazioni sulla funzionalità di tag dell'indice BLOB insieme a problemi noti e limitazioni, vedere Gestire e trovare i dati BLOB di Azure con tag di indice BLOB.

Impostare i tag

È possibile impostare i tag di indice se il codice ha autorizzato l'accesso ai dati BLOB tramite uno dei meccanismi seguenti:

Per altre informazioni, vedere Impostazione dei tag di indice BLOB.

È possibile impostare i tag usando il metodo seguente:

I tag specificati in questo metodo sostituiranno i tag esistenti. Se i valori precedenti devono essere mantenuti, devono essere scaricati e inclusi nella chiamata a questo metodo. L'esempio seguente illustra come impostare i tag:

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);
}

È possibile eliminare tutti i tag passando un oggetto vuoto Map nel setTags metodo :

public void clearBlobTags(BlobClient blobClient) {
    Map<String, String> tags = new HashMap<String, String>();
    blobClient.setTags(tags);
}

Ottenere tag

È possibile ottenere tag di indice se il codice ha autorizzato l'accesso ai dati BLOB tramite uno dei meccanismi seguenti:

Per altre informazioni, vedere Ottenere ed elencare i tag di indice BLOB.

È possibile ottenere tag usando il metodo seguente:

L'esempio seguente illustra come recuperare e scorrere i tag del 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());
}

Filtrare e trovare dati con tag di indice BLOB

È possibile usare i tag di indice per trovare e filtrare i dati se il codice ha autorizzato l'accesso ai dati BLOB tramite uno dei meccanismi seguenti:

Per altre informazioni, vedere Ricerca di dati tramite tag di indice BLOB.

Nota

Non è possibile usare i tag di indice per recuperare le versioni precedenti. I tag per le versioni precedenti non vengono passati al motore di indicizzazione BLOB. Per altre informazioni, vedere Condizioni e problemi noti.

È possibile trovare i dati usando il metodo seguente:

L'esempio seguente trova tutti i BLOB contrassegnati come immagine:

public void findBlobsByTag(BlobContainerClient blobContainerClient) {
    String query = "\"Content\"='image'";

    blobContainerClient.findBlobsByTags(query)
            .forEach(blob -> System.out.printf("Name: %s%n", blob.getName()));
}

Risorse

Per altre informazioni su come usare i tag di indice per gestire e trovare dati usando la libreria client Archiviazione BLOB di Azure per Java, vedere le risorse seguenti.

Operazioni dell'API REST

Azure SDK per Java contiene librerie basate sull'API REST di Azure, che consentono di interagire con le operazioni dell'API REST tramite paradigmi Java noti. I metodi della libreria client per la gestione e l'uso dei tag di indice BLOB usano le operazioni API REST seguenti:

Esempi di codice

Risorse della libreria client

Vedi anche