在Windows Azure中,可以创建公共Blob容器。匿名客户端可以通过REST API访问此类容器。
是否也可以创建可公开访问的队列?
documentation for the Create Container operation解释了如何为Blob容器指定公共访问级别(使用x-ms-blob-public-access
HTTP标头)。但是,documentation for the Create Queue operation没有列出类似的选项,让我相信这是不可能的 - 但我真的想要纠正:)
答案 0 :(得分:8)
目前,Azure Queues无法公开。
正如您所注意到的,此“隐私”是通过要求在RE中进行的所有Storage API调用以使用来自密钥的签名请求对队列进行身份验证来实施的。在blob商店中没有类似于公共容器的“公共”概念。
这将遵循最佳实践,即使在云中,您也不希望将基础架构的内部暴露给外部世界。如果您想要实现此功能,可以在队列之上公开一个非常简单/简单的“图层”应用程序。 Web角色中的简单WCF REST应用程序可以向您的使用者公开排队操作,但在内部处理api请求的签名,因此您不需要将队列公开。
答案 1 :(得分:3)
您是对的,Azure存储队列不会像Blob(Uris)那样公开访问。但是,您仍然可以使用appfabric服务总线实现公共可消费的消息传递基础架构。
答案 2 :(得分:2)
我认为最好的选择是设置辅助角色并以这种方式公开访问队列。也许使用AppFabric Service Bus可以与外部资源进行额外的连接/交互。
?否则 - 不清楚范围可能是什么。此时队列本身似乎已被锁定。 :(