表DynamoDB中的属性数限制?

时间:2018-03-19 03:25:52

标签: amazon-web-services amazon-ec2 amazon-dynamodb

您好我目前有一个我要插入DynamoDB的字典列表(每个字典作为项目)。每个项目都有一个hashkey和label1,label2,... label3000键/值对,标签#为键,字符串为值对。我的一些商品最多包含标签字段。在DynamoDB中使用put_item时这是一个问题吗?目前,每个字典中的标签#键是无序的,当我去插入每个项目时,它只添加了19个字段。

3 个答案:

答案 0 :(得分:1)

属性数量没有限制,但总项目大小限制为400kb。

  

<强>项

     

商品尺寸

     

DynamoDB中的最大项目大小为400 KB,其中包括两者   属性名称二进制长度(UTF-8长度)和属性值   长度(再次是二进制长度)。属性名称计入   大小限制。

     

例如,考虑一个具有两个属性的项:一个名为的属性   &#34;衬衫色&#34;有价值的&#34; R&#34;另一个名为&#34; shirt-size&#34;   有价值&#34; M&#34;。该项目的总大小为23个字节。

     

<强>属性

     

每个项目的属性名称 - 值对

     

每件商品的累积属性大小必须符合最大值   DynamoDB项目大小(400 KB)。

     

列表,地图或集合中的值数

     

List,Map或Set中的值数量没有限制,   只要包含值的项目符合400 KB项目   大小限制。

Docs

答案 1 :(得分:1)

“限制”仅在视图中,默认情况下为20列。
您可以使用设置按钮选择查看所有列。

enter image description here

答案 2 :(得分:1)

Dynamodb表可以具有任意数量的属性,但是在写入特定行时,属性的数量受到限制,因为属性名称和属性值的累积大小不应超过400KB。

从数学上来说,如果您要写入的行的平均属性大小为7个字节,并且其对应的值具有6个字节的大小,则您可以拥有大约 400 * 1024/13〜31507 该条目的属性。

如果您使用完全不同的属性名称集进行另一个此类输入,则整个表将具有 63014属性。

请记住,每个条目的最大限制为400KB,但是表可以具有任意数量的属性。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#limits-attributes