使用Python中的boto.dynamodb2在AWS DynamoDb中增加计数器

时间:2013-06-22 16:52:28

标签: python amazon-web-services boto amazon-dynamodb

我正在使用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()

如何增加“计数器”字段?

1 个答案:

答案 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"}}
                    }
                )