持久化TableEntity时出现错误请求错误

时间:2016-06-20 20:05:15

标签: azure azure-table-storage

我有一个像这样的TableEntity:

public class TableEntity : TableEntity
{
    public string SomeXml { get; set; }
}

包含名为SomeXmL的XML字符串。大多数TableEntities都很好,但对于一些我得到的:

{"The remote server returned an error: (400) Bad Request."}

产生异常的TableEntities之一的XML字符串包含33933个字符。有限制吗?不知道如何确定异常的原因。可以找到导致异常的一个示例XML here

1 个答案:

答案 0 :(得分:2)

您收到此错误的原因是您尝试插入的数据超出了实体属性允许的最大大小。的 The maximum size of an entity attribute is 64KB however because strings in Azure Tables are UTF-16 encoded, maximum size of a String type attribute is 32KB 即可。

因为您的XML大小超过32KB,所以您收到此错误。

当我尝试插入您在我的存储帐户中的表中共享的示例数据时,我收到以下错误:

{
    "odata.error": {
        "code": "PropertyValueTooLarge",
        "message": {
            "lang": "en-US", 
            "value": "The property value exceeds the maximum allowed size (64KB). If the property value is a string, it is UTF-16 encoded and the maximum number of characters should be 32K or less.\nRequestId:693f46ec-0002-0012-3a5a-cbcb16000000\nTime:2016-06-21T01:14:00.4544620Z"
            }
        }
    }