如何将巨大的字节数组保存到azure表存储中?

时间:2017-08-15 16:06:00

标签: c# arrays azure large-files azure-table-storage

我的tableEntity包含byte[]属性

[StorageTableName("TestTable")]
public class TestTableEntity : TableEntity
{
    public byte[] Data { get; set; }
}

在这个属性中我想把一些文件转换成字节(如果不正确 - 请提出另一个解决方案)。

var table = tableStorage.Table<TestTableEntity>();
await table.CreateIfNotExistsAsync();

var entity = new TestTableEntity 
{
    Data = data, //byte[]
    PartitionKey = partitionKey, //date
    RowKey = schemaName// string
};

await table.InsertOrUpdateAsync(entity);

在插入步骤中我收到错误

  

远程服务器返回错误:(413)请求正文太大并超出了允许的最大限制。

因为数组非常庞大。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

在Azure表存储中,实体的最大存储容量大约为1 MB(Azure Storage Scalability and Performance Targets)。

检查数据是否超出指定的限制,在这种情况下,您可能需要在Azure Blob中存储数据,并在表格中添加对它的引用或直接使用它。