2011-01-27 2 views
2

В Windows Azure можно создать публичный контейнер Blob. Такой контейнер можно получить анонимными клиентами через REST API.Возможно ли создать публичную очередь в Windows Azure?

Возможно ли создать общедоступную очередь?

В статье documentation for the Create Container operation объясняется, как указать уровень общего доступа (с заголовком HTTP x-ms-blob-public-access) для контейнера Blob. Тем не менее, documentation for the Create Queue operation не перечисляет аналогичный вариант, заставив меня поверить, что это невозможно, но я бы очень хотел, чтобы его исправили :)

ответ

2

Я думаю, что лучшим вариантом было бы установить роль рабочего и обеспечить доступ к очереди публично таким образом. Возможно, с AppFabric Service Bus для дополнительной связи/интерактивности с внешними источниками.

? В противном случае - не совсем понятно, какова может быть область действия. В настоящее время сама очередь закрыта. :(

3

Вы правы, очереди хранения Azure не будут общедоступными, такими как blobs (Uris). Тем не менее, вы все равно сможете достичь общедоступной инфраструктуры обмена сообщениями с помощью служебной шины приложения.

8

На данный момент Очереди Azure не могут быть опубликованы.

Как вы уже отметили, эта «конфиденциальность» применяется, требуя, чтобы все вызовы API хранилища, сделанные в RE: чтобы очереди были аутентифицированы с помощью подписанного запроса от вашего ключа. Существует нет «общедоступной» концепции, аналогичной публичным контейнерам в хранилище blob.

Это будет следовать наилучшей практике в том, что даже в облаке вы не хотите подвергать внутренности вашей инфраструктуры внешнему миру. Если вы хотите достичь этой функциональности, вы можете открыть очень тонкое/простое приложение «layer» поверх очередей. Простое приложение WCF REST в веб-роли может подвергать операции очередей вашим потребителям, но обрабатывать подписи внутренних запросов api, чтобы вы не нуждались в том, чтобы очереди были общедоступными.

+0

Да, но запустив тонкий слой веб-ролей для единственной цели аутентификации, это пустая трата денег (вычислительные экземпляры стоят денег, вы знаете). Было бы намного лучше, если бы вы могли просто отправить прямо в очередь , но не читать из него.Это было бы эквивалентно попаданию на общедоступный веб-сайт. –

+1

Просто помните, что вы можете разместить это приложение WCF REST в любом месте, включая роль рабочего, которая обрабатывает очереди в Azure, избавив вас от создания еще одной роли (и дополнительные экземпляры). Затем вы можете увеличить свою роль рабочего, поскольку это требует спрос, но, надеюсь, вы сможете добиться экономии масштаба с размещенным тонким слоем, работающим рядом с кодом обработки очереди. –

Смежные вопросы