0

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

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

然而,这个扫描过滤器似乎自发地决定不再正常工作。每当我执行此请求时,它都会返回零结果。当我删除扫描过滤器时,它返回 20 个结果,所以我认为它与 limit 或 tableName 属性无关。有趣的是,当我将过滤器设置为查找周期等于“1”的项目时,它实际上可以工作,可能是因为表开头有 10 行周期 = 1。

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

4

1 回答 1

0

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

于 2014-10-14T03:26:27.207 回答