web-dev-qa-db-ja.com

サブスクリプションのAzureストレージアカウントで使用されているスペースを確認する

サブスクリプションリソースグループごとに、各Azureストレージアカウントで使用した容量を確認するにはどうすればよいですか。

PowerShell、CLI、ポータルを介してAzureストレージアカウントで使用されているスペースを確認する方法を見つけることができません...

11
Suresh Guntha

Azure Storageのサイズは、4つのサービス(Blob、Queue、File、Table)すべてで構成されています。私の知識に基づいて、現時点ではすべてのサービスの合計サイズを計算する方法はありません。

ただし、Azureメトリックを使用して、ポータルで使用されているblobスペースを取得できます。 Monitor-> Metricsを選択してください

enter image description here

Azureポータルでのストレージアカウントの監視の詳細については、こちらを参照してください link

また、PowerShellを使用してBlobを使用することもできます。良い script があります。

12
Shui shengbao

Azure Storage Explorer には「ディレクトリ統計」ボタンがあります。

フォルダーに移動する

enter image description here

ボタンをクリックします

enter image description here

合計はアクティビティパネルに表示されます

enter image description here

2
Simon_Weaver

がここにあります .net coreスクリプトを使用して、過去1時間の平均メトリック値を使用してストレージアカウントの使用状況を一覧表示します。

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);
        }
    }
}
1
Red Riding Hood