我想使用Azure REST API在Azure上的Blob上設置一些自定義元數據屬性。 該文件的上傳工作正常(也通過REST API完成)。要設置我的自定義元數據,我跟着these instructions。樣品URL可以是:通過REST API在BlockBlob上設置Azure元數據
與此請求頭:
X-MS-元logicalname:20141028_064011.jpg
無論我通過運行此URL jQuery的ajax或通過Fiddler我總是得到相同的結果:調用似乎是成功的(我得到一個200狀態碼),但如果我檢查blob元數據(使用C#代碼)沒有找到密鑰,元數據是空的。相反,如果我用C#做所有事情,我可以根據需要設置和獲取我的blob上的任何元數據。
樣品C#代碼(現在的工作):
var blobs = container.ListBlobs(null, true, BlobListingDetails.Metadata).Cast<CloudBlockBlob>();
foreach (var blob in blobs) {
Console.WriteLine(blob.Metadata["logicalname"]);
}
正如你可以看到我已經在網址中輸入我的共享訪問簽名,而不是在請求頭作爲本說明書顯示,但我懷疑這是問題,因爲上傳和其他操作(也在桌面存儲)一切工作正常。
我做錯了什麼? (?顯然是肯定的,但什麼...... :))
解決:
與Azure存儲資源管理器調查我看到的元數據的設置是否正確,並在那裏,它只是不通過C#中檢索。 Thanx對Gaurav的建議我編輯了我發佈的C#代碼示例,現在正在檢索通過REST API設置的元數據。
你可以分享通過C#獲取blob元數據的代碼嗎? – 2014-10-30 11:17:23
使用C#示例編輯帖子 – 2014-10-30 11:22:39