Beräkna antal blobar och total storlek per container med hjälp av Azure Storage-inventering

Den här artikeln använder inventeringsfunktionen i Azure Blob Storage och Azure Synapse för att beräkna antalet blobar och den totala storleken på blobar per container. Dessa värden är användbara när du optimerar blobanvändning per container.

Förutsättningar

Ingen

Aktivera inventeringsrapporter

Det första steget i den här metoden är att aktivera inventeringsrapporter för ditt lagringskonto. Du kan behöva vänta upp till 24 timmar efter att du har aktiverat inventeringsrapporter för att din första rapport ska genereras.

När du har en inventeringsrapport att analysera kan du ge dig själv läsbehörighet till containern där rapportens CSV-fil finns genom att tilldela dig själv rollen Storage Blob Data Reader . Se till att använda e-postadressen för det konto som du använder för att köra rapporten. Om du vill lära dig hur du tilldelar en Azure-roll till en användare med rollbaserad åtkomstkontroll i Azure (Azure RBAC) följer du anvisningarna i Tilldela Azure-roller med hjälp av Azure-portalen.

Kommentar

Om du vill beräkna blobstorleken från inventeringsrapporten måste du inkludera schemafältet Innehållslängd i regeldefinitionen.

Skapa en Azure Synapse-arbetsyta

Skapa sedan en Azure Synapse-arbetsyta där du kör en SQL-fråga för att rapportera inventeringsresultatet.

Skapa SQL-frågan

Gör följande när du har skapat din Azure Synapse-arbetsyta.

  1. Navigera till https://web.azuresynapse.net.

  2. Välj fliken Utveckla på den vänstra kanten.

  3. Välj det stora plustecknet (+) för att lägga till ett objekt.

  4. Välj SQL-skript.

    Skärmbild av välj SQL-skript för att skapa en ny fråga.

Kör SQL-frågan

Följ stegen nedan:

  1. Lägg till följande SQL-fråga på din Azure Synapse-arbetsyta för att läsa CSV-inventeringsfilen.

    För parametern bulk använder du URL:en för den CSV-fil för inventeringsrapport som du vill analysera.

    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. Ge SQL-frågan namnet i egenskapsfönstret till höger.

  3. Publicera DIN SQL-fråga genom att trycka på CTRL+S eller välja knappen Publicera alla .

  4. Välj knappen Kör för att köra SQL-frågan. Antalet blobar och den totala storleken per container rapporteras i fönstret Resultat .

    Skärmbild av utdata från körning av skriptet för att beräkna blobantal och total storlek.