Azure Analytic Services的RESTful API无法正常工作

时间:2012-01-16 09:31:56

标签: c# http rest azure

好的,我会在这里直截了当。我成功调用了Windows Azure Analytic Services的REST API,用于获取和设置Blob日志记录和指标的设置。

但是,当我给它一个表和队列时,我收到以下错误消息: AuthenticationFailed 服务器无法验证请求。确保正确形成Authorization标头的值,包括签名。 RequestId:9d4436e0-9367-46ed-9967-b3ebe888d2f8发布时间:2012-01-16T09:20:09.5141262Z

我用来签名的字符串如下: GET\n\n\n\n\n\n\n\n\n\n\n\nx-ms-date:Mon, 16 Jan 2012 09:04:50 GMT\nx-ms-version:2011-0818\n/<accountname>/\ncomp:properties\nrestype:service。它适用于Blob。

最棘手的是我在分析服务的回复中没有得到AuthenticationErrorDetail。当我尝试为Blob调用设置REST API时,我实际上有一个AuthenticationErrorDetail告诉我服务器用来签名的字符串。这真的帮助我构建了上述内容。

还有其他人经历过类似的事吗?

2 个答案:

答案 0 :(得分:0)

我意识到我的REST调用也适用于队列。但是,它不适用于表格。

http://msdn.microsoft.com/en-us/library/windowsazure/dd179428.aspx提供了更多信息:

  

2009-09-19共享密钥精简版和表格服务格式

     

此格式支持所有版本的共享密钥和共享密钥精简版   表服务和2009-09-19版本的Shared Key Lite   Blob和队列服务。此格式与使用的格式相同   与以前版本的存储服务。构建   CanonicalizedResource字符串的格式如下:

     

以空字符串(“”)开头,附加正斜杠(/),   后跟拥有该资源的帐户的名称   访问。

     

附加资源的编码URI路径。如果请求URI指向a   资源的组件,附加适当的查询字符串。该   查询字符串应包含问号和comp参数   (例如,?comp =元数据)。不应包括其他参数   在查询字符串上。

最后,它接受了路径?comp=properties

答案 1 :(得分:0)

我遇到了类似的问题 - blob工作正常,表无法正常工作 - 当我错误地使用DateTime.Now而不是DateTime.UtcNow for x-ms-date header