2012-09-05 177 views
3

我需要的是重寫URL的請求的斑點,即代替 http://myaccount.blob.core.windows.net/clients/ {客戶名稱} /images/imagefile.jpg 應服 http://myaccount.blob.core.windows.net/clients/images/imagefile.jpg的Windows Azure Blob存儲與URL重寫

客戶端URL中的名稱是請求擁有SEO URL,因爲文件名是唯一的,我想要將blob名稱設爲 images/imagefile.jpg而不是 {客戶名稱} /images/imagefile.jpg並使用某些比如在IIS中重寫URL。 如果客戶端更改它的名稱,因爲我無法重命名blob,我必須創建副本並刪除舊的blob,這會變得很痛苦。我們無法承受的時間可能會超過一分鐘。

回答

2

您不能對存儲帳戶使用任何類似URL重寫的內容。您只能將自定義域映射到您的存儲帳戶。例如,而不是引用blob:http://myaccount.blob.core.windows.net/ ...您可以將它們映射到http://img.yourdomain.com/ ...而且您還可以使用Azure CDN以獲得更好的性能和用戶體驗!此外,如果你關心搜索引擎優化,你還必須考慮不僅僅是「重命名」blob,還要使用HTTP 301重定向從舊的blob到新的。使用Azure存儲服務也不可能。我建議你使用客戶ID而不是客戶名稱

UPDATE的

你「可以」 reanme的斑點,simialry你會重命名文件的方式。根據您的要求 - 如果您想「快速」重命名大量圖像,無論如何您必須編寫簡單的「服務」,因爲我無法找到另一種方法來重命名文件系統上的1000個文件。隨着斑點,儘管遙遠的它將幾乎相同。你錯了,你必須保存在機器上的斑點。自2011年11月發佈(我認爲)以來,有一項新功能(CloudBlob實例上的方法),名稱爲CopyFromBlobHere is an example of how to rename blobs.。這樣,您可以輕鬆地將Blob移動到不同帳​​戶周圍,而無需先下載內容。是的,這可能比使用本地文件系統需要更長的時間。但這仍然是一個公平的解決方案。

想想Azure存儲是什麼。大規模可擴展,可靠的存儲即服務。你有100TB(如果需要可以增加),在當地有3個副本,在另一個地理區域有一個副本。 CDN支持全球超過24個節點的海量存儲。我不認爲重命名是最需要的。

+0

實際上,我不需要客戶端名稱或客戶端ID。我認爲我有權完全刪除它。 但仍然,我看起來很奇怪,因爲我不能重命名一個blob,我不能重命名容器,我不能使用像URL重寫的東西。這對我意味着什麼,我無法快速更改許多圖像的URL。 讓我們考慮一下情景,我有很多圖像,我們決定更改文件名。爲此,我需要獲得blob並以不同的名稱保存,如果我有1Tb,則需要很長時間。當然,我可以創建一項服務將其放入雲中以完成工作,但對我來說這很昂貴,因爲這需要我花很多時間完成簡單任務。 – user1325696

+0

非常感謝。這真的很有幫助。 CopyFromBlob的速度有多快。 – user1325696