Partilhar via


Use tags de índice de blob para gerenciar e localizar dados com Java

Este artigo mostra como usar marcas de índice de blob para gerenciar e localizar dados usando a biblioteca de cliente do Armazenamento do Azure para Java.

Pré-requisitos

  • Este artigo pressupõe que você já tenha um projeto configurado para trabalhar com a biblioteca de cliente do Armazenamento de Blobs do Azure para Java. Para saber mais sobre como configurar seu projeto, incluindo a instalação de pacotes, adicionar import diretivas e criar um objeto de cliente autorizado, consulte Introdução ao Armazenamento do Azure e Java.
  • O mecanismo de autorização deve ter permissões para trabalhar com tags de índice de blob. Para saber mais, consulte as diretrizes de autorização para as seguintes operações de API REST:

Sobre tags de índice de blob

As tags de índice de Blob categorizam os dados em sua conta de armazenamento usando atributos de tag chave-valor. Essas tags são automaticamente indexadas e expostas como um índice multidimensional pesquisável para encontrar dados facilmente. Este artigo mostra como definir, obter e localizar dados usando tags de índice de blob.

As tags de índice de Blob não são suportadas para contas de armazenamento com namespace hierárquico habilitado. Para saber mais sobre o recurso de marca de índice de blob, juntamente com problemas e limitações conhecidos, consulte Gerenciar e localizar dados de Blob do Azure com tags de índice de blob.

Definir tags

Você pode definir marcas de índice se seu código tiver autorizado o acesso aos dados de blob por meio de um dos seguintes mecanismos:

Para obter mais informações, consulte Definindo tags de índice de blob.

Você pode definir tags usando o seguinte método:

As tags especificadas neste método substituirão as tags existentes. Se os valores antigos devem ser preservados, eles devem ser baixados e incluídos na chamada para este método. O exemplo a seguir mostra como definir tags:

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

Você pode excluir todas as tags passando um objeto vazio Map para o setTags método:

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

Obter tags

Você pode obter tags de índice se seu código tiver autorizado o acesso aos dados de blob por meio de um dos seguintes mecanismos:

Para obter mais informações, consulte Obtendo e listando tags de índice de blob.

Você pode obter tags usando o seguinte método:

O exemplo a seguir mostra como recuperar e iterar sobre as tags do 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());
}

Filtrar e localizar dados com tags de índice de blob

Você pode usar tags de índice para localizar e filtrar dados se seu código tiver autorizado o acesso aos dados de blob por meio de um dos seguintes mecanismos:

Para obter mais informações, consulte Localizando dados usando tags de índice de blob.

Nota

Não é possível usar tags de índice para recuperar versões anteriores. As tags de versões anteriores não são passadas para o mecanismo de índice de blob. Para obter mais informações, consulte Condições e problemas conhecidos.

Você pode encontrar dados usando o seguinte método:

O exemplo a seguir localiza todos os blobs marcados como uma imagem:

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

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

Recursos

Para saber mais sobre como usar marcas de índice para gerenciar e localizar dados usando a biblioteca de cliente do Armazenamento de Blobs do Azure para Java, consulte os recursos a seguir.

Operações da API REST

O SDK do Azure para Java contém bibliotecas que se baseiam na API REST do Azure, permitindo que você interaja com operações da API REST por meio de paradigmas Java familiares. Os métodos de biblioteca de cliente para gerenciar e usar tags de índice de blob usam as seguintes operações de API REST:

Amostras de código

Recursos da biblioteca do cliente

Consulte também