2011年5月25日水曜日

Azure Storage REST API の Authorization ヘッダ・改訂版

前回の記事で Auzre の Storage REST API で必須となる Authorization ヘッダの SharedKey 値の算出ロジックを記載しましたが、その後色々やっていくにつれ若干の修正が必要な事がわかりました。
変更点は今のところ1か所のみです。

   1: headerStrings.Append(ControlChars.Lf) 'Content-Language 
   2: headerStrings.Append(ControlChars.Lf) 'Content-Length 
   3: headerStrings.Append(ControlChars.Lf) 'Content-MD5

前回掲載したコードの一部分です。これを・・・

   1: headerStrings.Append(ControlChars.Lf) 'Content-Language 
   2: If (wq.ContentLength > -1) Then
   3:     headerStrings.Append(wq.ContentLength.ToString) 'Content-Length 
   4: End If
   5: headerStrings.Append(ControlChars.Lf) 'Content-Length 
   6: headerStrings.Append(ControlChars.Lf) 'Content-MD5

このように Content-Length の設定箇所を修正します。理由ですが、PUT メソッドを利用して何かしらの設定を行う際(CreateContainerSetContainerACL 等)は、本文が存在していなくても Content-Length ヘッダの設定が必須となっている為です。そのため、前述の REST API を利用する場合には、Content-Length : 0 とヘッダに設定する必要があります。

この部分以外には今のところ修正が必要な箇所は見つかっておらず、コンテナ系の REST API 全ては動作を確認できています。

0 件のコメント:

コメントを投稿