Compartir vía


Uso de etiquetas de índice de blobs para administrar y buscar datos con Java

En este artículo se muestra cómo usar etiquetas de índice en los blobs para administrar y buscar datos mediante la biblioteca cliente de Azure Storage para Java.

Requisitos previos

Escribir etiquetas de índice de blobs

Las etiquetas de índice de blobs clasifican los datos de la cuenta de almacenamiento mediante atributos de etiqueta clave-valor. Estas etiquetas se indexan y se exponen automáticamente como un índice multidimensional que se puede buscar para encontrar fácilmente los datos. En este artículo se muestra cómo establecer, obtener y buscar datos mediante etiquetas de índice de blobs.

Las etiquetas de índice de blobs no se admiten para las cuentas de almacenamiento con el espacio de nombres jerárquico habilitado. Para obtener más información sobre la característica de etiqueta de índice de blobs junto con las limitaciones y los problemas conocidos, vea Administración y búsqueda de datos de Azure Blob con etiquetas de índice de blobs.

Definición de etiquetas

Puede establecer etiquetas de índice si el código tiene el acceso autorizado a los datos de los blobs mediante uno de los siguientes mecanismos:

Para más información, vea Configuración de etiquetas de índice de blobs.

Puede establecer etiquetas mediante cualquiera de los métodos siguientes:

Las etiquetas especificadas en este método reemplazarán las etiquetas existentes. Si es necesario conservar los valores antiguos, deben descargarse e incluirse en la llamada a este método. En el siguiente ejemplo se muestra cómo establecer etiquetas:

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

Para eliminar todas las etiquetas, pase un objeto Map vacío al método setTags:

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

Obtener etiquetas

Puede obtener etiquetas de índice si el código tiene el acceso autorizado a los datos de los blobs mediante uno de los siguientes mecanismos:

Para más información, consulte Obtención y enumeración de etiquetas de índice de blobs.

Puede obtener etiquetas mediante el método siguiente:

En el ejemplo siguiente se muestra cómo recuperar e iterar las etiquetas 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());
}

Filtrado y búsqueda de datos con etiquetas de índice de blobs

Puede usar etiquetas de índice para buscar y filtrar datos si el código tiene el acceso autorizado a los datos de los blobs mediante uno de los siguientes mecanismos:

Para más información, consulte Búsqueda de datos mediante etiquetas de índice de blobs.

Nota:

No se pueden utilizar etiquetas de índice para recuperar versiones anteriores. Las etiquetas de las versiones anteriores no se pasan al motor de índices de blobs. Para más información, consulte Condiciones y problemas conocidos.

Puede buscar datos mediante los métodos siguientes:

En el ejemplo siguiente se buscan todos los blobs etiquetados como imagen:

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

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

Recursos

Para más información sobre cómo usar las etiquetas de índice para administrar y buscar datos mediante la biblioteca cliente de Azure Blob Storage para Java, consulte los siguientes recursos.

Operaciones de API REST

El SDK de Azure para Java contiene bibliotecas que se crean a partir de la API REST de Azure, lo que le permite interactuar con las operaciones de API REST a través de paradigmas conocidos de Java. Los métodos de biblioteca cliente para administrar y usar etiquetas de índice de blobs usan las siguientes operaciones de la API REST:

Ejemplos de código

Recursos de la biblioteca cliente

Consulte también