AWS DynamoDB 之间的查询错误
Posted
技术标签:
【中文标题】AWS DynamoDB 之间的查询错误【英文标题】:AWS DynamoDB query error for between 【发布时间】:2018-04-24 20:46:01 【问题描述】:我想在我的 AWS Lambda 中使用查询来过滤来自 DynamoDB 的条目。我想接收两个数字之间的条目。我的数据库如下所示:
这些是我的查询参数:
var params =
TableName: "tableName",
KeyConditions:
'date':
ComparisonOperator: "BETWEEN",
AttributeValueList: [30, 100]
;
docClient.query(params, function(err, resp)
if (err)
_response = buildOutput(500, err);
return callback(_response, null);
_response = buildOutput(200, resp);
return callback(null, _response);
);
我收到以下错误消息,但我不知道参数中缺少什么
response: "message":"查询条件错过了key schema element: id"
提前致谢!
【问题讨论】:
【参考方案1】:要使用查询 API,您需要在 KeyConditions
中提及哈希键。根据您的表定义,看起来 id
是表的哈希键属性。 Hash key 是使用 Query API 的必备属性。您应该提供哈希键的值,即Id
,以便使用查询 API。
如果您不知道哈希键,您可能需要使用 Scan API 来获取数据。
同样,您不能在不知道表的哈希键的情况下使用查询 API。甚至,如果您不知道索引的哈希键,创建索引可能也无济于事。
Query API
【讨论】:
以上是关于AWS DynamoDB 之间的查询错误的主要内容,如果未能解决你的问题,请参考以下文章
AWS:从 dynamodb 到 redshift 的数据转换 [关闭]
如何使用 AWS Lambda 按名称查询 dynamoDB 表