從前幾個版本開始,Windows Azure Storage Services就在Dashboard中提供了使用的分析報告,這些資訊可以讓開發者了解目前的使用狀態。
文/黃忠成
Windows Azure Storage Services的分析報告
從前幾個版本開始,Windows Azure Storage Services就在Dashboard中提供了使用的分析報告,這些資訊可以讓開發者了解目前的使用狀態。
圖1
	
當然,除了可以在管理平台中看到這些資料外,Windows Azure Storage Services也提供了透過程式來取得這些資料的介面,這讓開發者可以運用這些資料來分析整個服務的使用狀態。
要特別注意的是,這個服務預設並不是開啟的,你必須透過CONFIGURE頁面來啟動這個服務。
圖2
	
運用程式來取得這些資料
一開始,開發者只能透過REST API來取得這些資料,隨著Azure Storage Services Client Library的更新,在4.0.1中封裝了這組REST API,開發者現在可以輕易地取得這些資料。
圖3
	
private static void GetDownloadMetrics()
        {
            CloudStorageAccount account =
               new CloudStorageAccount(new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials("",
                   ""), true);
            var client = account.CreateCloudAnalyticsClient();
            var query = client.CreateHourMetricsQuery(Microsoft.WindowsAzure.Storage.Shared.Protocol.StorageService.Blob, StorageLocation.Primary);
            DateTime metricsDay = DateTime.UtcNow.AddDays(-1);
            metricsDay = new DateTime(metricsDay.Year, metricsDay.Month, metricsDay.Day);
            DateTimeOffset startTime = metricsDay;
            DateTimeOffset endTime = metricsDay.AddDays(1);
            var total = query.Execute().Where(a => a.TransactionType == "GetBlob" &&
                           a.AccessType == "user" &&
                           a.Time > startTime && a.Time < endTime).Sum(a => a.AnonymousSuccess);
            Console.WriteLine(total);
        }  
GetBlob這個TransactionType指的是取用Blob的次數,相關的資訊可以由以下網址獲得。