是否可以在Windows Azure中创建公共队列?

是否可以在Windows Azure中创建公共队列?,azure,azure-storage,azure-queues,Azure,Azure Storage,Azure Queues,在WindowsAzure中,可以创建公共Blob容器。匿名客户端可以通过RESTAPI访问这样的容器 是否也可以创建一个可公开访问的队列 说明如何为blob容器指定公共访问级别(使用x-ms-blob-public-accessHTTP头)。但是,没有列出类似的选项,这让我相信这是不可能的-但我真的希望得到纠正:)你是对的,Azure存储队列不会像Blob(URI)那样公开访问。但是,您仍然可以通过appfabric服务总线实现一个可公开使用的消息传递基础架构。此时,Azure队列无法公开 正

在WindowsAzure中,可以创建公共Blob容器。匿名客户端可以通过RESTAPI访问这样的容器

是否也可以创建一个可公开访问的队列


说明如何为blob容器指定公共访问级别(使用
x-ms-blob-public-access
HTTP头)。但是,没有列出类似的选项,这让我相信这是不可能的-但我真的希望得到纠正:)

你是对的,Azure存储队列不会像Blob(URI)那样公开访问。但是,您仍然可以通过appfabric服务总线实现一个可公开使用的消息传递基础架构。

此时,Azure队列无法公开

正如您所注意到的,这种“隐私”是通过要求在RE:to队列中进行的所有存储API调用都使用来自密钥的签名请求进行身份验证来实现的。blob商店中没有类似于公共容器的“公共”概念


这将遵循最佳实践,即使在云中,您也不希望将基础设施的内部内容暴露给外部世界。如果您想实现此功能,可以在队列顶部公开一个非常精简/简单的“层”应用程序。web角色中的简单WCF REST应用程序可以向用户公开队列操作,但可以在内部处理api请求的签名,这样就不需要将队列公开。

我认为最好的选择是设置一个工作者角色,并以这种方式公开对队列的访问。可能使用AppFabric Service Bus与外部源进行额外的连接/交互


??否则-不太清楚范围可能是什么。此时队列本身似乎已被锁定:(

是的,但是仅仅为了身份验证而运行一层薄薄的web角色是一种浪费(你知道,计算实例要花钱)。如果您可以直接发布到队列,但不从队列中读取,则会更好。这相当于访问一个公开可用的网站。请记住,您可以在任何位置托管该WCF REST应用程序,包括在Azure中处理队列的工作角色,从而避免您创建另一个角色(和其他实例)。然后,您可以根据需要扩展工作人员角色,但希望您可以通过在队列处理代码旁边运行托管薄层来实现规模经济。