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

您可能想查看我在 CodePlex 上的开源 Azure 表存储客户端项目。

Lucifure Stash允许轻松访问 ETag 以及 HttpWebRequest 和 HttpWebResponse 对象。

于 2012-10-06T19:06:01.097 回答
0

取决于您的客户端实现,但它们都是 HTTP 1.1 标头。

例如,(假设 .NET WebRequest 类)类似于:

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

....

WebResponse response = request.GetResponse();

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

会工作

编辑(用于存储客户端库)。..

如果您使用的是客户端库,您可以从 CloudBlob 上的 Properties 集合中获取 ETag

所以 ..

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

var eTag = blob.Properties.ETag

Properties 是一个 blobProperties 对象。它应该提供对大部分所需数据的访问。

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

于 2010-09-20T00:05:36.253 回答