Amazon dynamodb 更新时使用的DynamoDB写入容量

Amazon dynamodb 更新时使用的DynamoDB写入容量,amazon-dynamodb,Amazon Dynamodb,我想知道在更新具有ListAttribute的现有项时,DynamoDB的写容量是如何计算的 模型的一般概念如下所示: Model A id = UUID name = Str ...other fields Model A Map Attribute Model B id = UUID modelA_list = ListAttr[Model A Map Attribute] 据我所知,唯一相关的计算信息是关于新写入的信息,其中容量是通过四舍五入到下一KB来计算的。例如,如果我在所有字段

我想知道在更新具有ListAttribute的现有项时,DynamoDB的写容量是如何计算的

模型的一般概念如下所示:

Model A
id = UUID
name = Str
...other fields

Model A Map Attribute

Model B
id = UUID
modelA_list = ListAttr[Model A Map Attribute]
据我所知,唯一相关的计算信息是关于新写入的信息,其中容量是通过四舍五入到下一KB来计算的。例如,如果我在所有字段上总共有899个字符(假设字母数字),那么总共是999个字节(包括一个项目的100个字节),这将是1个WCU。如果我有901个字符,那么它将是2个WCU


但是,如果我在一个预先存在的项上使用UpdateItem,那么计算的是添加到该项的额外字节还是整个项?例如,如果我有一个模型A的Map属性,它有1个WCU,而模型B有10个模型A的Map属性。如果我将另一个模型A映射属性附加到模型B,它会花费12个WCU吗

以下是如何计算用于更新项目的WCU:

DynamoDB考虑项目前后的大小 更新。所消耗的调配吞吐量反映了 这些项目的大小。即使只更新了项目的一个子集 属性,UpdateItem仍将消耗全部 调配的吞吐量(“之前”和“之后”项中的较大者 尺寸)

参考:

这是否意味着整个项目的声明与更新其某些字段的成本相同?如果更新的条件下声明失败(即文档未更新),写入单位是否会被消耗?