In dit artikel wordt de azure Blob Storage-inventarisfunctie en Azure Synapse gebruikt om het aantal blob's en de totale grootte van blobs per container te berekenen. Deze waarden zijn handig bij het optimaliseren van blobgebruik per container.
Het aantal blobs en de totale grootte per container berekenen met behulp van Azure Storage-inventaris
Vereisten
Inventarisrapporten inschakelen
De eerste stap in deze methode is het inschakelen van voorraadrapporten voor uw opslagaccount. Mogelijk moet u maximaal 24 uur wachten nadat u inventarisrapporten hebt ingeschakeld voordat uw eerste rapport is gegenereerd.
Wanneer u een inventarisrapport hebt dat u wilt analyseren, verleent u uzelf leestoegang tot de container waarin het CSV-rapportbestand zich bevindt door uzelf de rol opslagblobgegevenslezer toe te wijzen. Zorg ervoor dat u het e-mailadres gebruikt van het account dat u gebruikt om het rapport uit te voeren. Als u wilt weten hoe u een Azure-rol toewijst aan een gebruiker met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC), volgt u de instructies in Azure-rollen toewijzen met behulp van Azure Portal.
Notitie
Als u de blobgrootte uit het voorraadrapport wilt berekenen, moet u het schemaveld Inhoudlengte opnemen in de regeldefinitie.
Een Azure Synapse-werkruimte maken
Maak vervolgens een Azure Synapse-werkruimte waarin u een SQL-query uitvoert om de inventarisresultaten te rapporteren.
De SQL-query maken
Nadat u uw Azure Synapse-werkruimte hebt gemaakt, voert u de volgende stappen uit.
Navigeer naar https://web.azuresynapse.net.
Selecteer het tabblad Ontwikkelen aan de linkerkant.
Selecteer het grote plusteken (+) om een item toe te voegen.
Selecteer SQL-script.
De SQL-query uitvoeren
Voer de onderstaande stappen uit:
Voeg de volgende SQL-query toe in uw Azure Synapse-werkruimte om het CSV-bestand voor voorraad te lezen.
Gebruik voor de
bulk
parameter de URL van het CSV-bestand van het inventarisrapport dat u wilt analyseren.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)
Geef uw SQL-query een naam in het eigenschappenvenster aan de rechterkant.
Publiceer uw SQL-query door op Ctrl+S te drukken of de knop Alles publiceren te selecteren.
Selecteer de knop Uitvoeren om de SQL-query uit te voeren. Het aantal blobs en de totale grootte per container worden gerapporteerd in het deelvenster Resultaten .