0

Azure テーブルのホワイト ペーパーでは、データの処理中にエラーが発生した場合に x-ms-request-id を Microsoft に送信すると便利であると記載されています。try...catchこのようなエラーが発生した場合は、ブロックでこれを取得して、将来の分析のためにどこかに保存したいと思います。

さらに、テーブル ストレージで ETag 値も抽出する必要があります。

この情報を抽出して、例外が発生したときに利用できるようにするにはどうすればよいですか?

HTTP/1.1 204 No Content
Content-Length: 0
ETag: W/"datetime'2008-10-01T15%3A27%3A34.4838174Z'"
x-ms-request-id: 7c1b5e22-831d-403c-b88a-caa4443e75cb
4

2 に答える 2

0

クライアントの実装によって異なりますが、これらはすべてHTTP1.1ヘッダーです。

たとえば、(.NET WebRequestクラスを想定)次のようになります。

WebRequest request = WebRequest.Create("http://myazurestore.server.com");

....

WebResponse response = request.GetResponse();

string mSRequestId = response.Headers["x-ms-request-id"];

うまくいくだろう

EDIT(ストレージクライアントライブラリ用)。..

クライアントライブラリを使用している場合は、CloudBlobのプロパティコレクションからETagを入手できます。

それで ..

Cloudblob blob = container.GetBlobReference("blobname.ext");

var eTag = blob.Properties.ETag

プロパティはblobPropertiesオブジェクトです。必要なデータのほとんどへのアクセスを提供する必要があります。

MSDN: http: //msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.blobproperties_members.aspx

于 2010-09-20T00:05:36.253 に答える
0

CodePlex で私のオープン ソース Azure テーブル ストレージ クライアント プロジェクトをチェックしてみてください。

Lucifure Stashを使用すると、ETag や HttpWebRequest および HttpWebResponse オブジェクトに簡単にアクセスできます。

于 2012-10-06T19:06:01.097 に答える