我有一个简单的删除操作,如下所示:
{
"TableName":"demo_events",
"Key":{
"category":{"S":"Demo"},
"DynamoID":{"S":"164933868Slt1396454204"}
},
"Expected":{
"category":{
"Exists":true,
"Value"{"S":"Demo"}
}
},
"ReturnConsumedCapacity":"TOTAL",
"ReturnItemCollectionMetrics":"SIZE"}
数据库中只有一个具有该ID的项目。答案如下:
{
ConsumedCapacity: {
CapacityUnits: 2,
TableName: 'demo_events'
},
ItemCollectionMetrics: {
ItemCollectionKey: {
category: { S: 'Demo' }
},
SizeEstimateRangeGB: [ 0, 1 ] }
}
这不应该只消耗1个写入单元吗?
非常感谢。
答案 0 :(得分:1)
对于只写一个项目的PutItem,UpdateItem和DeleteItem,DynamoDB将项目大小四舍五入到下一个1 KB。如果除了键属性之外,项目中还有其他属性,则它们总共可以加起来超过1 KB。
如果表上有本地二级索引(LSI),DeleteItem也会从LSI中删除相应的项目,项目大小将占用的总写入容量单位。当为表定义LSI时,DeleteItem响应返回ItemCollectionMetrics。似乎根据样本响应为表格定义了LSI
问候