Wie kann ich überprüfen, wie viel Speicherplatz ich in meinen Azure-Speicherkonten in Bezug auf meine Abonnementressourcengruppe verwendet habe?.
Ich kann keine Möglichkeit finden, den Speicherplatz, der im Azure-Speicherkonto verwendet wird, über Powershell, CLI, Portal usw. zu überprüfen.
Die Größe des Azure-Speichers umfasst insgesamt 4 Dienste (Blob, Warteschlange, Datei, Tabelle). Nach meinem Wissen gibt es derzeit keine Möglichkeiten, die Gesamtgröße aller Dienste zu berechnen.
Mit Azure-Metriken können Sie jedoch den für Portal verwendeten Blob-Speicherplatz erhalten. Bitte wählen Sie Monitor -> Metriken
Weitere Informationen zum Überwachen eines Speicherkontos im Azure-Portal finden Sie unter Link .
Sie können auch PowerShell verwenden, um die Blob-Nutzung zu erhalten. Es gibt ein gutes Skript , das Sie verwenden könnten.
Azure Storage Explorer hat die Schaltfläche "Verzeichnisstatistik".
Navigieren Sie zu einem Ordner
Drück den Knopf
Die Summe wird im Aktivitätsfenster angezeigt
Hier ist ein .net core
-Skript, das ich zum Auflisten der Speicherkontonutzung mit dem durchschnittlichen Metrikwert der letzten Stunde auflisten.
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using Microsoft.Azure.Management.CosmosDB.Fluent.Models;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.Monitor;
using Microsoft.Azure.Management.Monitor.Models;
using Microsoft.Rest.Azure.Authentication;
namespace storagelist
{
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
// to generate my.azureauth file run the follow command:
// az ad sp create-for-rbac --sdk-auth > my.azureauth
var Azure = Azure.Authenticate("my.azureauth").WithDefaultSubscription();
var accounts = Azure.StorageAccounts.List();
// can get values from my.azureauth
var tenantId = "";
var clientId = "";
var clientSecret = "";
var serviceCreds = await ApplicationTokenProvider.LoginSilentAsync(tenantId, clientId, clientSecret);
MonitorManagementClient readOnlyClient = new MonitorManagementClient(serviceCreds);
var oneHour = System.TimeSpan.FromHours(1);
var startDate = DateTime.Now.AddHours(-oneHour.Hours).ToUniversalTime().ToString("o");
string endDate = DateTime.Now.ToUniversalTime().ToString("o");
string timeSpan = startDate + "/" + endDate;
List<string> fileContents = new List<string>();
foreach (var storage in accounts)
{
var response = await readOnlyClient.Metrics.ListAsync(
resourceUri: storage.Id,
timespan: timeSpan,
interval: oneHour,
metricnames: "UsedCapacity",
aggregation: "Average",
resultType: ResultType.Data,
cancellationToken: CancellationToken.None);
foreach (var metric in response.Value)
{
foreach (var series in metric.Timeseries)
{
foreach (var point in series.Data)
{
if (point.Average.HasValue)
{
fileContents.Add($"{storage.Id}, {point.Average.Value}");
break;
}
}
break;
}
break;
}
}
await File.WriteAllLinesAsync("./storage.csv", fileContents);
}
}
}