私はBlobストレージのサイズを計算するためにPowerShellスクリプトなどがありますが、ファイルストレージはありません。これが可能なのか、できればC#アプリケーションからどうやったらできるのか誰にも分かりますか?
あなたはMicrosoft Azure Configuration Manager Library for .NETを活用して、次のように特定のファイル共有のためのラフな使用状況を取得できます。詳細については、あなたがDevelop with File storageを参照してください可能性があり
CloudFileShare share = fileClient.GetShareReference("{your-share-name}");
ShareStats stats = share.GetStats();
Console.WriteLine("Current file share usage: {0} GB, maximum size: {1} GB", stats.Usage.ToString(), share.Properties.Quota);
。
結果:
をまた、正確な使用状況を取得するために:
Current file share usage: 1 GB, maximum size: 5120 GB
あなたは次のようにあなたのファイル共有の使用法とクォータをチェックするMicrosoft Azure Storage Explorerを活用でき私はあなたがファイル共有の下でファイルとディレクトリを反復し、ファイルのバイトサイズを累積する必要があると仮定しました。私はあなたがそれを参照してください可能性があり、この目的を達成するためのコードスニペットを書いた:
static void FileShareByteCount(CloudFileDirectory dir,ref long bytesCount)
{
FileContinuationToken continuationToken = null;
FileResultSegment resultSegment = null;
do
{
resultSegment = dir.ListFilesAndDirectoriesSegmented(100, continuationToken, null, null);
if (resultSegment.Results.Count() > 0)
{
foreach (var item in resultSegment.Results)
{
if (item.GetType() == typeof(CloudFileDirectory))
{
var CloudFileDirectory = item as CloudFileDirectory;
Console.WriteLine($" List sub CloudFileDirectory with name:[{CloudFileDirectory.Name}]");
FileShareByteCount(CloudFileDirectory,ref bytesCount);
}
else if (item.GetType() == typeof(CloudFile))
{
var CloudFile = item as CloudFile;
Console.WriteLine($"file name:[{CloudFile.Name}],size:{CloudFile.Properties.Length}B");
bytesCount += CloudFile.Properties.Length;
}
}
}
} while (continuationToken != null);
}
用途:
CloudFileShare share = fileClient.GetShareReference("logs");
CloudFileDirectory rootDir = share.GetRootDirectoryReference();
long bytesCount = 0;
FileShareByteCount(rootDir, ref bytesCount);
Console.WriteLine("Current file share usage: {0:f3} MB", bytesCount/(1024.0 * 1024.0));
は、あなたがこの問題を解決した、あなたがさらに支援が必要なのでしょうか? –