我使用AWS lambda(python)和dynamodb将项目添加到dynamodb。
我的项目结构如下 {ID,电子邮件,移动}
我需要根据新项目中没有重复电子邮件或手机号码的事实向db添加项目。
项目可能有也可能没有电子邮件或移动设备。
如何实现这一目标?
例如
我现在在db
中有一个项目{1,电子邮件@ mail.com,123456789}
我可以添加
但不是
答案 0 :(得分:0)
Dynamodb只能对哈希范围表键强制唯一性(不适用于全局二级索引键)
所以在你的情况下(以及上面描述的场景),通过制作电子邮件和移动全局二级哈希键(以及在更新之前查询项目),只有这样才能避免电子邮件或移动设备的重复。 / p>
如果您使用多线程,则在查询/更新时使用锁。