为dynamoDB表设置过滤器

时间:2016-09-02 03:24:53

标签: amazon-web-services amazon-dynamodb

我在dynamoDB表中有数据,我试图根据数据属性过滤它。下面是JSON数据的示例。过滤器查询的示例是:payload.stat> 200.

但是,尝试在DynamoDB导航窗格中使用此类查询不起作用,我收到错误:“一个项目由一个或多个属性组成。每个属性都包含名称,数据类型和值。当您阅读时或者写一个项目,唯一需要的属性是构成主键的那些属性“

如何使用有效负载内的属性过滤数据?

start = a.CreatedOn.Tostring("yyyy-MM-dd")

DynamoDB表的屏幕截图:

Click here for snapshot of DynamoDB Table

1 个答案:

答案 0 :(得分:2)

您可以使用FilterExpressions查询或扫描结果。查询dynamodb时,必须使用分区键。扫描dynamodb时,分区键是可选的。但是扫描比查询慢。

试试这个

var params = {
        "TableName": tableName,
         "FilterExpression": "payload.lock = :val1 and timestamp = :val2",
        "ExpressionAttributeValues": {
            ":val1": "lockInput",
            ":val1": "timestamp"
        },
        "ReturnConsumedCapacity": "TOTAL"
    };

如果您需要更多过滤器选项,可以自定义FilterExpression。