2011-01-27 68 views
2

在Windows Azure中可以創建公共Blob容器。這種容器可以通過REST API由匿名客戶端訪問。是否可以在Windows Azure中創建公用隊列?

也可以創建一個可公開訪問的隊列嗎?

documentation for the Create Container operation解釋瞭如何爲Blob容器指定公共訪問級別(使用x-ms-blob-public-access HTTP標頭)。然而,documentation for the Create Queue operation沒有列出類似的選項,導致我相信這是不可能的 - 但我真的很想糾正:)

回答

2

我認爲最好的選擇是設置一個工作者角色並以這種方式公開提供對隊列的訪問。也許通過AppFabric服務總線實現額外的連接/與外部來源的互動。

?否則 - 不太清楚可能的範圍。隊列本身似乎在此時被鎖定。 :(

3

你說得對,Azure存儲隊列將不會可以像blobs(Uris)一樣公開訪問。但是,您仍然可以使用appfabric服務總線實現公共消耗型消息傳遞基礎結構。

8

目前,Azure隊列不能公開。

正如您所指出的,通過要求在RE中進行的所有Storage API調用來強制執行此「隱私」:通過來自密鑰的已簽名請求對隊列進行身份驗證。在blob商店中沒有類似於公共容器的「公共」概念。

這將遵循最佳實踐,因爲即使在雲中,您也不希望將基礎設施的內部結構暴露給外部世界。如果你想實現這個功能,你可以在隊列之上公開一個非常簡單的「層」應用程序。 Web角色中的一個簡單的WCF REST應用程序可以將排隊操作公開給您的使用者,但在內部處理api請求的簽名,因此您不需要隊列公開。

+0

是的,但是爲了驗證的唯一目的而運行一層薄薄的Web角色是浪費錢(計算實例花錢,你知道)如果你可以直接發佈到隊列中會更好,但不能從中讀取,這相當於擊中了一個公開可用的網站 – 2011-01-27 18:41:19

相關問題