我正在使用AWS通过Cognito用户/ IAM角色和策略对dynamoDB进行数据库查询。
听起来我查询DynamoDB的参数无效。
我的错误:dynamodb.html:150 ValidationException:一个或多个参数值无效:条件参数类型与架构类型不匹配
我尝试添加:ProjectionExpression: "name"
,因为它是我的属性之一,但是name
显然是保留字,所以我不能使用它。我也尝试了age
,因为它是我拥有的另一个属性,但是出现了与上述相同的初始错误。因此,我已经完全删除了ProjectionExpression:
。这是我现在需要的参数:
var params = {
ExpressionAttributeValues: {
":v1": {
N: 123456788
}
},
KeyConditionExpression: "userId = :v1",
TableName: "user"
};
我不太确定该如何构架。请让我知道我缺少什么或者是否有任何好的文档,因为我是AWS的新手。预先谢谢你!
编辑:
主键为userId
,表user
的其余属性为:age
,bio
,email
,{{1} }。
以IAM角色登录并查询
name
答案 0 :(得分:0)
尝试在N
中不使用ExpressionAttributeValues
的情况下使用它,并使用"
作为用户ID值。
var params = {
ExpressionAttributeValues: {
":v1": "123456788"
},
KeyConditionExpression: "userId = :v1",
TableName: "user"
};