2012-01-16 93 views
1

好的,我会很快在这里。我成功地调用了Windows Azure Analytic Services的REST API来获取和设置Blob日志记录和指标的设置。Azure分析服务不能正常工作的RESTful API

但是,当我给它一个表和队列,我得到以下错误信息: AuthenticationFailed服务器未能验证请求。确保授权标头的值正确形成,包括签名。请求ID: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来说非常合适。

最麻烦的是我在Analytic Services的回复中没有收到AuthenticationErrorDetail。当我尝试调用Blob的设置REST API时,我实际上得到了一个AuthenticationErrorDetail,它告诉我服务器用于签名的字符串。这真的帮助我构建上述。

有没有其他人经历过类似的事情?

+0

如果您使用C#来访问Azure存储,是不是有没有使用存储客户端库的原因? – knightpfhor 2012-01-16 20:53:24

回答

0

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

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

2009-09-19共享密钥精简版和表服务业态

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

一个空字符串(“”)开始,追加一个斜杠(/), 其次是拥有资源是 访问的帐户的名称。

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

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

0

我遇到类似的问题 - 斑点做工精细,表不工作 - 当我使用不当DateTime.Now代替DateTime.UtcNow为X-MS-date头