使用过滤器扫描返回零会导致DynamoDB

时间:2014-10-13 23:50:40

标签: amazon-web-services amazon-dynamodb database-scan nosql

我在DynamoDB中有一个大约300 000行的表。它包含三列:源,数据和周期。 source属性是散列键,data是范围键。 cycles属性是每次添加行时由应用程序添加的数字。我曾经使用以下过滤器扫描这些行:

{
    TableName: "tableName",
    Limit: 20,
    ScanFilter: {
        cycles: {
            AttributeValueList: [
                {
                    N: "0"
                }
            ],
            ComparisonOperator: "EQ"
        }
    }
}

然而,这个扫描过滤器似乎已经决定不再正常工作了。无论何时我执行此请求,它都将返回零结果。当我删除scanfilter时它会返回20个结果,所以我认为它与limit或tableName属性无关。有趣的是,当我设置过滤器来查找周期等于" 1"它确实有效,可能是因为在表的开头有10行循环= 1。

我的问题只是如何解决这个问题。我应该添加新索引,还是应该更改此scanfilter?我也可以尝试使用查询命令而不是扫描,但我之前尝试这样做也没有成功。

1 个答案:

答案 0 :(得分:0)

没关系,我必须使用查询方法。我注意到scan方法只从表中获取行的前X行,直到scanFilter返回false,因此它不会搜索整个表。