DynamoDB:提供的键元素与架构不匹配

DynamoDB: The provided key element does not match the schema

我在项目中使用 nodejs 和 dynamoDB。每当我尝试获取设备 ID 时都会遇到问题,但总是出现错误:cmd 中的“ValidationException:提供的关键元素与模式不匹配”​​。

DynamoDB:

我的代码: dynamo.js

app.js

ValidationException:提供的关键元素与模式不匹配

错误可能发生在 GetItem 操作 (dynamoClient.get()) 中 Key 设置为 {'id': id}。你的BUG有两种可能(因为你的问题信息量太少,所以无法多说):

  1. id 不是您项目的密钥,或者不是 整个 密钥。如果您的项键也有排序键,而不仅仅是分区键,您也必须指定它。如果要检索具有所有排序键的相同分区键的所有项目,则必须使用 Query 操作,而不是 GetItem.
  2. 如果 id 确实是唯一的键列,那么您可能给它提供了错误的类型。从您包含的打印输出看来 id 应该是一个数字。如果你给它传递一个字符串(我不知道“id”变量包含什么......)你会得到你提到的错误。