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

How to save huge byte array into azure table storage?

我有包含 byte[] 属性

的 tableEntity
[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);

在插入步骤出现错误

The remote server returned an error: (413) The request body is too large and exceeds the maximum permissible limit..

因为数组真的很大。

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

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

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