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