normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

Windows Azure SDK for .NET 1.6 での変更点 〜Storage Client Managed API編〜

Windows Azure SDK 1.6 がつい先日リリースされ、更新内容については MSDN Libraries > Windows Azure SDK for .NET - November 2011 Release Notes にまとまっている。

参照したところ、Storage Client Managed API の更新として以下の記述が存在した(誤訳の場合はご容赦願いたい)。

  • UpdateMessage メソッドが追加され、メッセージの内容と不可視のタイムアウトを更新できる
  • AddMessage のオーバーロードメソッドを追加され、一定時間不可視にすることが可能になった
  • SetMessageContent メソッドが追加され、メッセージに content を設定可能になった
  • メッセージサイズが 8KB から 64KB に増えた

念のため、Windows Azure SDK 1.5 から Windows Azure SDK for .NET 1.6 の変更点を確認した結果を記載する。

Microsoft.WindowsAzure.StorageClient 名前空間の追加内容

主な変更点は以下になると考えられる。

  • 各 XXXXXClient クラスに ServiceProperties() メソッドが追加された
  • CloudQueueMessage のメッセージ更新メソッドが追加された

詳細な変更点は以下となる。

  • CloudBlob クラス
    • Name … プロパティを追加 get
    • CreateSnapshot(NameValueCollection, BlobRequestOptions) … NameValueCollection型を引数に利用できるメソッドをオーバーロード
    • BeginCreateSnapshot(NameValueCollection, BlobRequestOptions, AsyncCallback, Object) … NameValueCollection型を引数に利用できるメソッドをオーバーロード
  • CloudBlobClient クラス
    • GetServiceProperties() … メソッドを追加
    • BeginGetServiceProperties(AsyncCallback, Object) … メソッドを追加
    • EndGetServiceProperties(IAsyncResult) … メソッドを追加
    • SetServiceProperties(ServiceProperties) … メソッドを追加
    • BeginSetServiceProperties(ServiceProperties, AsyncCallback, Object) … メソッドを追加
    • EndSetServiceProperties(IAsyncResult) … メソッドを追加
  • CloudQueue クラス
    • AddMessage(CloudQueueMessage, TimeSpan?, TimeSpan?) … TimeSpan型二つを引数に利用できるメソッドをオーバーロード
    • BeginAddMessage(CloudQueueMessage, Timespan?, Timespan?, AsyncCallback, Object) … TimeSpan型二つを引数に利用できるメソッドをオーバーロード
    • UpdateMessage(CloudQueueMessage, TimeSpan, MessageUpdateFields) … キュー・メッセージを更新するメソッドを追加
    • BeginUpdateMessage(CloudQueueMessage, TimeSpan, MessageUpdateFields, AsyncCallback, Object) … キュー・メッセージを更新するメソッドを追加
    • EndUpdateMessage(IAsyncResult) … キュー・メッセージを更新するメソッドを追加
  • CloudQueueClient クラス
    • GetServiceProperties() … メソッドを追加
    • BeginGetServiceProperties(AsyncCallback, Object) … メソッドを追加
    • EndGetServiceProperties(IAsyncResult) … メソッドを追加
    • SetServiceProperties(ServiceProperties) … メソッドを追加
    • BeginSetServiceProperties(ServiceProperties, AsyncCallback, Object) … メソッドを追加
    • EndSetServiceProperties(IAsyncResult) … メソッドを追加
  • CloudQueueMessage クラス
    • SetMessageContent(String) … メソッドを追加
    • SetMessageContent(Byte[]) … メソッドを追加
  • CloudTableClient クラス
    • ResponseReceived(EventHandler) … イベントを追加
    • GetServiceProperties() … イベントを追加
    • BeginGetServiceProperties(AsyncCallback, Object) … イベントを追加
    • EndGetServiceProperties(IAsyncResult) … イベントを追加
    • SetServiceProperties(ServiceProperties) … イベントを追加
    • BeginSetServiceProperties(ServiceProperties, AsyncCallback, Object) … イベントを追加
    • EndSetServiceProperties(IAsyncResult) … イベントを追加

Microsoft.WindowsAzure.StorageClient.Protocol 名前空間の追加内容

主に内部用の名前空間で参照することは少ないと考えらえる。ServiceProperties クラス, LoggingProperties クラス, MetricsProperties クラス については利用することがあるだろう。

詳細な変更点は以下となる

  • BlobRequest クラス
    • Get(Uri, Int32, DateTime?, Int64, long?, String) … メソッドを追加
    • GetServiceProperties(Uri, Int32) … メソッドを追加
    • SetServiceProperties(Uri, Int32) … メソッドを追加
    • BlobRequest.WriteServiceProperties(ServiceProperties, Stream) … メソッドを追加
  • BlobResponse クラス
    • ReadServiceProperties(Stream) … メソッドを追加
  • LoggingProperties クラス
    • Version … プロパティ get/set
    • LoggingOperations … プロパティ get/set
    • RetentionDays … プロパティ get/set
  • MetricsProperties クラス
    • Version … プロパティ get/set
    • MetricsLevel … プロパティ get/set
    • RetentionDays … プロパティ get/set
  • QueueRequest.PutMessage(Uri, Int32, int?, int?) … メソッドを追加
    • UpdateMessage(Uri, Int32, String, Int32) … メソッドを追加
    • GetServiceProperties(Uri, Int32) … メソッドを追加
    • SetServiceProperties(Uri, Int32) … メソッドを追加
    • WriteServiceProperties(ServiceProperties, Stream) … メソッドを追加
  • QueueResponse クラス
    • GetPopReceipt(HttpWebResponse) … メソッドを追加
    • GetNextVisibleTime(HttpWebResponse) … メソッドを追加
    • ReadServiceProperties(Stream) … メソッドを追加
  • ServiceProperties クラス
    • Logging … プロパティ get/set
    • Metrics … プロパティ get/set
    • DefaultServiceVersion … プロパティ get/set
  • SharedKeyCanonicalizer クラス
    • CanonicalizeHttpRequest(HttpWebRequest, String) … メソッドを追加
  • SharedKeyLiteCanonicalizer クラス
    • CanonicalizeHttpRequest(HttpWebRequest, String) … メソッドを追加
  • SharedKeyLiteTableCanonicalizer クラス
    • CanonicalizeHttpRequest(HttpWebRequest, String) … メソッドを追加
  • SharedKeyTableCanonicalizer クラス
    • CanonicalizeHttpRequest(HttpWebRequest, String) … メソッドを追加
  • TableRequest.GetServiceProperties(Uri, Int32) … メソッドを追加
    • SetServiceProperties(Uri, Int32) … メソッドを追加
  • TableRequest クラス
    • WriteServiceProperties(ServiceProperties, Stream) … メソッドを追加
    • SignRequest(HttpWebRequest, Credentials) … メソッドを追加
    • TableRequest.SignRequestForSharedKeyLite(HttpWebRequest, Credentials) … メソッドを追加
  • TableResponse クラス
    • GetError(HttpWebResponse) … メソッドを追加
    • GetRequestId(HttpWebResponse) … メソッドを追加
    • ReadServiceProperties(Stream) … メソッドを追加