我正在尝试使用php SDK2进行条件updateItem调用,但无法确定如何检查字符串集中的单个值。
例如:我在dynamoDB中设置了一个字符串:
{ “一”, “B”, “C”}
我想执行updatedItem调用,并删除其中一个值,但如果该值不存在则输出错误。所以,如果我试图从上面的集合中删除“d”,我希望dynamoDB抛出错误,而不是默默地忽略我的字符串集中不存在“d”的事实。
我试过了:
'Expected' => array(
myAttribute => array(
'Exists' => true,
'Value' => array(Type::STRING_SET => array("d"))
)
)
但是,即使该值例如是“a”,也会失败。我认为原因是dynamoDB认为我希望它验证整个集合,而不仅仅是其中的一个值。
有没有办法进行条件放置并验证集合中的单个值?
我可以进行一次getItem调用,将字符串设置为数组并进行自己的检查,但如果可能,我很乐意在一次调用中完成所有操作。
提前致谢
答案 0 :(得分:1)
查看UpdateItem似乎表明DynamoDB会将值视为一个整体,并且您不能根据集合中的值来设置条件。
如果您想要确认是否可以执行此操作,或者想要为其发出功能请求,我会发布official DynamoDB forum。