查询条件丢失关键架构元素:validation错误
我正在试图使用下面的代码查询dynamodb
:
const AWS = require('aws-sdk'); let dynamo = new AWS.DynamoDB.DocumentClient({ service: new AWS.DynamoDB( { apiVersion: "2012-08-10", region: "us-east-1" }), convertEmptyValues: true }); dynamo.query({ TableName: "Jobs", KeyConditionExpression: 'sstatus = :st', ExpressionAttributeValues: { ':st': 'processing' } }, (err, resp) => { console.log(err, resp); });
当我运行这个,我得到一个错误说:
ValidationException: Query condition missed key schema element: id
我不明白。 我已经将id
定义为jobs
表的分区键,并且需要find所有处于processing
状态的作业。
您正尝试使用不包含主键的条件运行查询。 这是查询在DynamoDB中的工作方式 。 你需要扫描一下你的情况 ,但是,我不认为这是最好的select。
我想你想build立一个全局二级索引并用它来查询processing
状态。