【问题标题】:how to filter and limit dynamodb data with lambda and api gateway?如何使用 lambda 和 api 网关过滤和限制 dynamodb 数据?
【发布时间】:2016-02-28 00:47:38
【问题描述】:

我正在使用 amazon dynamodb、lambda 和 api 网关服务。我在 dynamodb 调用 photo-group 中有一个表,它的主键是 pid 和其他数据,如 ownerid、photosrc、photosize 等。

我知道如何使用扫描来获取数据,例如:

   var data = JSON.stringify({
            "operation":'list',
            "TableName":"photo-group",
            "FilterExpression": "ownerid = :val)",
            "ExpressionAttributeValues": {":val": user}
});

但现在我尝试通过添加“Limit:30”将结果限制为仅获得 30 个项目。我发现扫描将为我扫描前 30 行,而不是向我返回 30 个项目。我可以知道如何按 ownerid 过滤 30 个项目吗?

非常感谢!

【问题讨论】:

  • DynamoDB 不能以这种方式工作。如果要查询特定字段,则需要有索引,并且需要对其执行查询。扫描实际上是逐行进行。
  • 谢谢kixorz~我为我的表添加了索引,现在可以查询了。但重要的一点是,它需要额外的索引成本......哎呀

标签: amazon-web-services aws-lambda amazon-dynamodb aws-api-gateway


【解决方案1】:

您需要在值上添加索引,以便可以查询索引或进行多次扫描调用。这些解决方案中的任何一个都会产生相关成本。

【讨论】:

    猜你喜欢
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2020-10-01
    相关资源
    最近更新 更多