我在dynamoDB表中有数据,我试图根据数据属性过滤它。下面是JSON数据的示例。过滤器查询的示例是:payload.stat> 200.
但是,尝试在DynamoDB导航窗格中使用此类查询不起作用,我收到错误:“一个项目由一个或多个属性组成。每个属性都包含名称,数据类型和值。当您阅读时或者写一个项目,唯一需要的属性是构成主键的那些属性“
如何使用有效负载内的属性过滤数据?
start = a.CreatedOn.Tostring("yyyy-MM-dd")
DynamoDB表的屏幕截图:
答案 0 :(得分:2)
您可以使用FilterExpressions查询或扫描结果。查询dynamodb时,必须使用分区键。扫描dynamodb时,分区键是可选的。但是扫描比查询慢。
试试这个
var params = {
"TableName": tableName,
"FilterExpression": "payload.lock = :val1 and timestamp = :val2",
"ExpressionAttributeValues": {
":val1": "lockInput",
":val1": "timestamp"
},
"ReturnConsumedCapacity": "TOTAL"
};
如果您需要更多过滤器选项,可以自定义FilterExpression。