我正在尋找將數組存儲在Azure表實體中。目前,本地支持的唯一類型的數組是字節數組,限於64k的長度。這個大小已經足夠了,但是我想在一個實體中存儲longs,double和timestamp的數組。Azure Table存儲實體中的數組(非字節)
我可以明顯地投多個字節的請求的類型,不過我在想,如果有任何的最佳實踐來實現這一目標。
爲了澄清,與單個鍵關聯的這些長度固定陣列(例如1000個細胞)。
我正在尋找將數組存儲在Azure表實體中。目前,本地支持的唯一類型的數組是字節數組,限於64k的長度。這個大小已經足夠了,但是我想在一個實體中存儲longs,double和timestamp的數組。Azure Table存儲實體中的數組(非字節)
我可以明顯地投多個字節的請求的類型,不過我在想,如果有任何的最佳實踐來實現這一目標。
爲了澄清,與單個鍵關聯的這些長度固定陣列(例如1000個細胞)。
我一直想嘗試的一個很好的方式比你已經提到的方法來做到這一點其他的,我不知所措。我能想出的最簡單的解決方案是將數組,二進制序列化並存儲在二進制數組屬性中。
其他選擇,我想出了,但駁回:
如果你只有一個鍵值集合來存儲,那麼你也可以檢查Azure BLOBs。他們可以更有效地存儲每個blob25M時間點數組(在數據集中隨機訪問)。
我希望在編寫我的清單時,儘管如此,我想我被困在桌子上。這將是可能的,只是序列化(二進制/ XML,無所謂),並通過密鑰存儲整個對象。最大的缺點是沒有很好的工具支持來管理大量的斑點,而且你只能用鍵來查詢。 – knightpfhor 2010-12-01 22:18:21
您可以使用配對的表格行來填充數據。 – 2011-09-10 07:04:22
如果您選擇將對象存儲在blob存儲中,並且需要多個「key」才能獲取它,您可以創建一個azure表或兩個或n個存儲要查找的關鍵字和參考的位置到確切的blob項目。
這也是一個不錯的選擇,多一點工作,但提供更多的靈活性,同時仍然保持低成本。 – maulik13 2016-11-01 10:38:36
你爲什麼不存儲值作爲CSV字符串?
我已經寫了Azure的表存儲客戶端,稱爲Lucifure藏匿,它支持數組,枚舉,大數據,系列化,公共和私有屬性和字段等等。
您可以http://www.lucifure.com或的NuGet得到它。
你可以序列化您的數組作爲使用.NET的JavaScript序列化JSON字符串: http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
這個類有一個「MaxJsonLength」屬性,你可以用它來確保你的陣列不超過64K當你序列化他們。你可以使用相同的類來反序列化你的存儲對象。
或者您可以從Lokad.Cloud獲取代碼並根據需要重新使用它。 – 2010-12-01 05:19:24