如果我想二進制保存到Azure Table中,當我創建通過TableServiceEntity繼承的類,什麼數據類型,我應該使用?以及如何檢查的長度爲數據類型,以確保其不超過64k的如何通過TableServiceEntity將二進制文件保存到Azure表存儲?
public class SomeEntity : TableServiceEntity
{
public whattype BinaryData { get; set; }
}
如果我想二進制保存到Azure Table中,當我創建通過TableServiceEntity繼承的類,什麼數據類型,我應該使用?以及如何檢查的長度爲數據類型,以確保其不超過64k的如何通過TableServiceEntity將二進制文件保存到Azure表存儲?
public class SomeEntity : TableServiceEntity
{
public whattype BinaryData { get; set; }
}
對於二進制,一個字節[]長度的< = 64K是所有是必要的。表存儲客戶端將其轉換爲Base64僅用於傳輸目的,但存儲將是二進制。 如果你想存儲大於64K可以跨多個列拆呢。
我已經寫備用天青表存儲客戶端,Lucifure藏匿,它支持大數據列> 64K,數組,枚舉,系列化,公共和私人屬性和字段等等。它是開源的,可在http://lucifurestash.codeplex.com並通過NuGet獲得。
有趣,會去檢查。它可以在一行中支持多於1M的數據嗎? – 2012-03-26 21:08:30
Azure的表存儲不支持超過1MB總行規模。這包括開銷,包括用於存儲屬性名稱的空間。當然,您可以使用一個抽象級別並分割成多行,但Blob存儲將是這裏的首選實現。 – hocho 2012-03-26 21:28:58
對於二進制數據我傾向於把它放在一個Blob存儲區,然後到一個參考在我的表。 – onnoweb 2012-03-26 20:43:36
我想查詢它們在一個事務中,因爲我總是需要他們兩個和二進制小於64K – 2012-03-26 20:52:54
您還可以通過LokadCloud檢查FatEntities - http://code.google.com/p/lokad-cloud/wiki/ FatEntities它可能適合您的需求最好! – astaykov 2012-03-27 05:42:01