2012-03-26 80 views
0

如果我想二進制保存到Azure Table中,當我創建通過TableServiceEntity繼承的類,什麼數據類型,我應該使用?以及如何檢查的長度爲數據類型,以確保其不超過64k的如何通過TableServiceEntity將二進制文件保存到Azure表存儲?

public class SomeEntity : TableServiceEntity 
{ 
     public whattype BinaryData { get; set; } 
} 
+1

對於二進制數據我傾向於把它放在一個Blob存儲區,然後到一個參考在我的表。 – onnoweb 2012-03-26 20:43:36

+0

我想查詢它們在一個事務中,因爲我總是需要他們兩個和二進制小於64K – 2012-03-26 20:52:54

+0

您還可以通過LokadCloud檢查FatEntities - http://code.google.com/p/lokad-cloud/wiki/ FatEntities它可能適合您的需求最好! – astaykov 2012-03-27 05:42:01

回答

4

對於二進制,一個字節[]長度的< = 64K是所有是必要的。表存儲客戶端將其轉換爲Base64僅用於傳輸目的,但存儲將是二進制。 如果你想存儲大於64K可以跨多個列拆呢。

我已經寫備用天青表存儲客戶端,Lucifure藏匿,它支持大數據列> 64K,數組,枚舉,系列化,公共和私人屬性和字段等等。它是開源的,可在http://lucifurestash.codeplex.com並通過NuGet獲得。

+0

有趣,會去檢查。它可以在一行中支持多於1M的數據嗎? – 2012-03-26 21:08:30

+0

Azure的表存儲不支持超過1MB總行規模。這包括開銷,包括用於存儲屬性名稱的空間。當然,您可以使用一個抽象級別並分割成多行,但Blob存儲將是這裏的首選實現。 – hocho 2012-03-26 21:28:58

相關問題