In diesem Artikel werden der Azure Blob Storage-Bestand und Azure Synapse verwendet, um die Blobanzahl und die Gesamtgröße von Blobs pro Container zu berechnen. Diese Werte sind bei der Optimierung der Blobverwendung pro Container nützlich.
Berechnen der Anzahl und Gesamtgröße von Blobs pro Container mit dem Azure Storage-Bestand
Voraussetzungen
Aktivieren von Bestandsberichten
Im ersten Schritt dieser Methode werden in Ihrem Speicherkonto Bestandsberichte aktiviert. Möglicherweise müssen Sie nach dem Aktivieren von Bestandsberichten bis zu 24 Stunden warten, bis der erste Bericht generiert werden kann.
Wenn Sie einen Bestandsbericht analysieren möchten, weisen Sie sich für den Container, in dem sich die CSV-Datei des Berichts befindet, die Rolle Storage-Blobdatenleser zu. Verwenden Sie die E-Mail-Adresse des Kontos, mit dem Sie den Bericht ausführen. Weitere Informationen zum Zuweisen einer Azure-Rolle zu einem Benutzer mit rollenbasierter Zugriffssteuerung in Azure (Azure RBAC) finden Sie in den Anweisungen unter Zuweisen von Azure-Rollen über das Azure-Portal.
Hinweis
Um die Blobgröße aus dem Bestandsbericht zu berechnen, müssen Sie das Schemafeld Content-Length in die Regeldefinition einschließen.
Erstellen eines Azure Synapse-Arbeitsbereichs
Erstellen Sie einen Azure Synapse-Arbeitsbereich, in dem Sie eine SQL-Abfrage ausführen, um die Bestandsergebnisse zu protokollieren.
Erstellen der SQL-Abfrage
Führen Sie nach dem Erstellen des Azure Synapse-Arbeitsbereichs die folgenden Schritte aus.
Navigieren Sie zu https://web.azuresynapse.net.
Wählen Sie die Registerkarte Entwickeln am linken Rand aus.
Wählen Sie das große Pluszeichen (+) aus, um ein Element hinzuzufügen.
Wählen Sie SQL-Skript aus.
Ausführen der SQL-Abfrage
Gehen Sie wie folgt vor:
Fügen Sie die folgende SQL-Abfrage in Ihrem Azure Synapse-Arbeitsbereich hinzu, um die CSV-Bestandsdatei zu lesen.
Verwenden Sie für den
bulk
-Parameter die URL der CSV-Datei für den Bestandsbericht, die analysiert werden soll.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)
Geben Sie im Eigenschaftenbereich rechts einen Namen für die SQL-Abfrage ein.
Veröffentlichen Sie die SQL-Abfrage durch Drücken von STRG+S oder durch Auswählen der Schaltfläche Alle veröffentlichen.
Wählen Sie die Schaltfläche Ausführen aus, um die SQL-Abfrage auszuführen. Die Anzahl und Gesamtgröße der Blobs pro Container werden im Ergebnisbereich angezeigt.