是否可以在 Windows Azure 中创建公共队列?
在 Windows Azure 中,可以创建公共 Blob 容器。匿名客户端可以通过 REST API 访问此类容器。
是否也可以创建一个可公开访问的队列?
创建容器操作的文档说明了如何指定公共级别Blob 容器的访问(使用 x-ms-blob-public-access
HTTP 标头)。但是,创建队列操作的文档没有列出类似的内容选项,让我相信这是不可能的 - 但我真的很想得到纠正:)
In Windows Azure it's possible to create public Blob Container. Such a container can be accessed by anonymous clients via the REST API.
Is it also possible to create a publicly accessible Queue?
The documentation for the Create Container operation explains how to specify the level of public access (with the x-ms-blob-public-access
HTTP header) for a Blob Container. However, the documentation for the Create Queue operation doesn't list a similar option, leading me to believe that this isn't possible - but I'd really like to be corrected :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
目前,Azure 队列无法公开。
正如您所指出的,这种“隐私”是通过要求 RE: 中对队列进行的所有存储 API 调用使用您的密钥的签名请求进行身份验证来强制执行的。不存在类似于 Blob 存储中的公共容器的“公共”概念。
这将遵循最佳实践,因为即使在云中,您也不希望将基础设施的内部结构暴露给外界。如果您想实现此功能,您可以在队列顶部公开一个非常薄/简单的“层”应用程序。 Web 角色中的简单 WCF REST 应用程序可以向消费者公开排队操作,但在内部处理 api 请求的签名,因此您不需要公开队列。
At this time, Azure Queues cannot be made public.
As you have noted, this "privacy" is enforced by requiring all Storage API calls made in RE: to queues to be authenticated with a signed request from your key. There is no "public" concept similar to public containers in blob store.
This would follow best practice in that even in the cloud you would not want to expose the internals of your infrastructure to the outside world. If you wanted to achieve this functionality, you could expose a very thin/simple "layer" app on top of queues. A simple WCF REST app in a web role could expose the queuing operations to your consumers, but handle the signing of api requests internally so you would not need the queues to be public.
你是对的,Azure 存储队列不会像 blob (Uris) 那样可供公开访问。但是,您仍然可以使用 appfabric 服务总线实现可公开使用的消息传递基础设施。
You are right, the Azure storage queues won't be publicly accessible like the blobs (Uris). However you may still be able to achieve a publicly consumable messaging infrastructure with the appfabric service bus.
我认为最好的选择是设置一个辅助角色并以这种方式公开提供对队列的访问。也许使用 AppFabric 服务总线来与外部源进行额外的连接/交互。
?否则 - 不太清楚范围可能是什么。此时队列本身似乎已被锁定。 :(
I think the best option would be to setup a worker role and provide access to the queue publicly in that manner. Maybe with AppFabric Service Bus for extra connectivity/interactivity with external sources.
? Otherwise - not really clear what the scope might be. The queue itself appears to be locked away at this time. :(