使用程式來取得Windows Azure Storage Services的分析報告

從前幾個版本開始,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的次數,相關的資訊可以由以下網址獲得。

http://msdn.microsoft.com/en-us/library/azure/hh343270.aspx