![](/img/trans.png)
[英]What kit (if any and not WebAPI) to use to write RESTful APIs for services that can only run on 3.5 framework?
[英]RESTful APIs for Azure Analytic Services not working
好吧,我会直截了当的。 我成功调用了Windows Azure Analytic Services的REST API,以获取和设置Blob日志记录和指标的设置。
但是,当我允许它访问表和队列时,会出现以下错误消息: AuthenticationFailed
Server无法对请求进行身份验证。 确保包括签名在内的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来说,它工作得很好。
最麻烦的是,我在来自Analytic Services的响应中没有收到AuthenticationErrorDetail
。 当我尝试为Blob调用设置REST API时,实际上得到了AuthenticationErrorDetail
,它告诉我服务器用来签名的字符串。 这确实帮助我构建了以上内容。
还有其他人经历过类似的事情吗?
我意识到我的REST调用也适用于队列。 但是,它不适用于表。
http://msdn.microsoft.com/zh-cn/library/windowsazure/dd179428.aspx提供了更多信息:
2009-09-19共享的密钥精简版和表服务格式
此格式支持Table服务的所有版本的Shared Key和Shared Key Lite,以及2009-09-19版本的Blob和Queue服务的Shared Key Lite。 此格式与先前版本的存储服务使用的格式相同。 按照以下格式构造CanonicalizedResource字符串:
以空字符串(“”)开头,在斜杠(/)后面加上拥有所访问资源的帐户名称。
附加资源的编码URI路径。 如果请求URI寻址资源的一部分,请附加适当的查询字符串。 查询字符串应包含问号和comp参数(例如,?comp = metadata)。 查询字符串中不应包含其他任何参数。
最后,它接受了路径?comp=properties
。
当我为x-ms-date标头错误地使用DateTime.Now而不是DateTime.UtcNow时,我遇到了类似的问题-Blob工作正常,表不工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.