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.
Beräkna antal blobar och total storlek per container med hjälp av Azure Storage-inventering
Förutsättningar
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.
Navigera till https://web.azuresynapse.net.
Välj fliken Utveckla på den vänstra kanten.
Välj det stora plustecknet (+) för att lägga till ett objekt.
Välj SQL-skript.
Kör SQL-frågan
Följ stegen nedan:
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)
Ge SQL-frågan namnet i egenskapsfönstret till höger.
Publicera DIN SQL-fråga genom att trycka på CTRL+S eller välja knappen Publicera alla .
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 .