我正在使用DynamoDb v2接口为boto在我的表中进行计数器增量。 (我需要v2接口,因为我稍后会处理索引)
不知怎的,如果不拿取物品和物品我就无法找到怎么做再次更新。
这是我正在使用的代码
from boto.dynamodb2.table import Table
from boto.dynamodb2.items import Item
my_table = Table('my-table')
# Update counter for existing record.
data = {'key': 'my_key',
'range_key': 'my_range',
}
item = Item(my_table, data)
#### Do something here to increment 'counter' by 1
item.save()
如何增加“计数器”字段?
答案 0 :(得分:6)
查看此答案:Update DynamoDB Atomic Counter with Python / Boto
这是在处理DynamoDB v1,我还没有测试这是否仍适用于v2。
如果您已经获取当前值,则显示
item.add_attribute('counter', 1)
item.save()
将执行update_item请求。
您也可以直接执行update_item请求:
dynoConnLayer1.update_item("my_table",
{"key":{"S":"my_key"}, 'range_key' : {"S": "my_range"}},
{"counter":
{"Action":"ADD","Value":{"N":"1"}}
}
)