gpt4 book ai didi

python - Boto DynamoDB2 条件 put_item

转载 作者:太空狗 更新时间:2023-10-30 00:50:46 25 4
gpt4 key购买 nike

我试图让 put_item 在实际添加新项目之前检查是否有具有相同 HashKey 的项目。

根据 boto DynamoDB2 文档,可以使用“Conditional Put”来实现。

我尝试按照命令执行操作,但没有成功。

connection.put_item('table',item={'locationId':'a1', 'timestamp': time.time()}, expected={'locationID':False})

错误信息如下。

boto.exception.JSONResponseError: JSONResponseError: 400 Bad Request
{u'Message': u'Expected null', u'__type': u'com.amazon.coral.service#SerializationException'}

有人对 DynamoDBv2 有条件看跌期权吗?

提前感谢大家。

最佳答案

您需要这样写才能使语法正常工作。非常糟糕的是,这在任何地方都没有记录。我只是遇到了完全相同的问题,并且在挖掘 Java SDK 文档时不得不尝试 50 种不同的方法才能正常工作。请注意,如果您想使用 'Exists': True 而不是 False,则需要提供一个值。

connection.put_item(
'table',
item={
'locationId':{'S': 'a1'},
'timestamp': {'N': str(time.time())
},
expected={
'locationID': {'Exists': False}
}
#expected={
# 'locationID': {'Exists': True, 'Value': {'N': '0'}}
#}
)

希望对您有所帮助!

编辑:the question that helped me with the syntax enough to make it workcode in the boto integration tests

关于python - Boto DynamoDB2 条件 put_item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18117561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com