Как извлечь «eTag» или «x-ms-request-id» из моего ответа Astoria DataContext? - PullRequest
0 голосов
/ 19 сентября 2010

В официальном документе таблицы 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

Ответы [ 2 ]

0 голосов
/ 06 октября 2012

Возможно, вы захотите проверить мой проект с открытым исходным кодом Azure Table Storage Client на CodePlex.

Lucifure Stash обеспечивает легкий доступ к ETag, а также к объектам HttpWebRequest и HttpWebResponse.

0 голосов
/ 20 сентября 2010

Зависит от вашей клиентской реализации, но все они являются заголовками HTTP 1.1.

Например, (при условии .NET WebRequest Class) что-то вроде:

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

....

WebResponse response = request.GetResponse();

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

Будет работать

EDIT (для Lib клиента хранилища). ..

Если вы используете клиентскую библиотеку, вы можете получить доступ к ETag из коллекции Properties в CloudBlob

Итак ..

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...