Calcule a contagem de blobs e o tamanho total por contêiner usando o inventário de Armazenamento do Azure

Este artigo usa o recurso de inventário de Armazenamento de Blobs do Azure e o Azure Synapse para calcular a contagem e o tamanho total dos blobs por contêiner. Esses valores são úteis ao otimizar o uso de blobs por contêiner.

Pré-requisitos

Nenhum

Habilitar relatórios de inventário

A primeira etapa neste método é habilitar relatórios de inventário na sua conta de armazenamento. Talvez seja necessário aguardar até 24 horas depois de habilitar os relatórios de inventário para que o seu primeiro relatório seja gerado.

Quando você tiver um relatório de inventário para analisar, conceda a si mesmo acesso de leitura ao contêiner em que o arquivo CSV do relatório reside atribuindo a si mesmo a função Armazenamento Leitor de Dados de Blob. Garanta o uso do endereço de email da conta que você está usando para executar o relatório. Para saber como atribuir uma função do Azure a um usuário com o RBAC do Azure (controle de acesso baseado em função do Azure), siga as instruções fornecidas em Atribuir funções do Azure usando o portal do Azure.

Observação

Para calcular o tamanho do blob do relatório de inventário, inclua o campo de esquema Content-Length na definição de regra.

Como criar um workspace do Azure Synapse

Em seguida, crie um workspace do Azure Synapse, em que você executará uma consulta SQL para relatar os resultados do inventário.

Criar a consulta SQL

Depois de criar o workspace do Azure Synapse, execute as etapas a seguir.

  1. Navegue até https://web.azuresynapse.net.

  2. Selecione a guia Desenvolver na borda esquerda.

  3. Selecione o sinal de adição grande (+) para adicionar um item.

  4. Selecione Script SQL.

    Captura de tela da seleção do script SQL para criar uma consulta.

Executar a consulta SQL

Siga as etapas abaixo:

  1. Adicione a consulta SQL a seguir no seu workspace do Azure Synapse para ler o arquivo CSV de inventário.

    No parâmetro bulk, use a URL do arquivo CSV do relatório de inventário que você deseja analisar.

    SELECT LEFT([Name], CHARINDEX('/', [Name]) - 1) AS Container,
            COUNT(*) As TotalBlobCount,
            SUM([Content-Length]) As TotalBlobSize
    FROM OPENROWSET(
        bulk '<URL to your inventory CSV file>',
        format='csv', parser_version='2.0', header_row=true
    ) AS Source
    GROUP BY LEFT([Name], CHARINDEX('/', [Name]) - 1)
    
  2. Nomeie a sua consulta SQL no painel de propriedades à direita.

  3. Publique a sua consulta SQL pressionando CTRL+S ou selecionando o botão Publicar tudo.

  4. Selecione o botão Executar para executar a consulta SQL. A contagem de blobs e o tamanho total por contêiner são relatados no painel Resultados.

    Captura de tela da saída da execução do script para calcular a contagem de blobs e o tamanho total.