当前位置: 首页 > 知识库问答 >
问题:

如何限制AWS DynamoDB扫描的项目数?

唐昊焜
2023-03-14

我在用node.js.

如果你看这个例子:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html

上面写着:

aws dynamodb scan \
    --table-name Movies \
    --projection-expression "title" \
    --filter-expression 'contains(info.genres,:gen)' \
    --expression-attribute-values '{":gen":{"S":"Sci-Fi"}}' \
    --page-size 100  \
    --debug

其中page-size限制结果项的数量:

通常,AWS CLI自动处理分页;然而,在本例中,CLI的--page size参数限制了每页的项目数。

但如果您读取节点。js AWS文件:

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#scan-property

没有与“页面大小”相关联的参数。

(仅限制限制,限制正在扫描的项目数,而不是返回)。

如何限制返回项目的数量(满足我的条件)?

共有2个答案

宿衡虑
2023-03-14
aws dynamodb scan \
    --table-name Movies \
    --projection-expression "title" \
    --filter-expression 'contains(info.genres,:gen)' \
    --expression-attribute-values '{":gen":{"S":"Sci-Fi"}}' \
    --page-size 100  \
    --debug

你认为这是什么:“读取整个表,找到满足过滤器的行,然后返回最多100个”

Dynamo所做的:“读取100行,找到满足筛选条件的行,然后返回它们”

我想你需要一个索引:)

窦华晖
2023-03-14

看来你看了留档,

限制结果集中的项目数

扫描操作允许您限制它在结果中返回的项目数。为此,请将Limit参数设置为所需的最大项目数。

例如,假设您扫描一个限制值为6且没有过滤器表达式的表。扫描结果将包含表中与请求中的关键条件表达式匹配的前六项。

现在假设您向扫描中添加一个过滤器表达式。在这种情况下,DynamoDB将对返回的六个项应用过滤器表达式,丢弃那些不匹配的项。最终扫描结果将包含6个或更少的项目,具体取决于筛选的项目数。

在同一个链接上,

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html

希望有帮助。

 类似资料:
  • 热生成用于Python文件的Fortify文件。 一个类似的问题是Fortify,如何通过命令开始分析,但它列出了java的步骤。 要为python项目生成报告,必须使用--python-path。我尝试了以下步骤,但没有工作。 第一步:清洁,建造 步骤2:扫描:此步骤应生成fpr文件 这没有生成任何fpr文件。第二步给出如下警告: 我不确定我是否使用了正确的命令。 如何确保在目录和子目录中扫描所

  • 我有一个<代码>。NET Core项目我试图运行Fortify扫描。据我所知,目前还没有VS2017 Fortify插件可用,但我很好奇是否可以使用围绕插件工作,仍然执行Fortify扫描?如果是这样,我怎么能把它合并到我的清洁、翻译和扫描命令中? 当前Fortify版本:

  • 我们正在尝试设置SonarQube服务器(5.6),以便任何人都可以使用声纳扫描仪运行声纳分析,并将结果发布到SonarQube。然而,我们希望限制用户只发布特定项目密钥的分析,以防止弄乱现有的项目历史记录。 我们在权限设置上玩了很久。让我们假设我们有一个项目密钥,一个组,一个组,一个组。所有的分析都是在用户是某个组织的成员的情况下发布的。除了执行分析,我们试图添加和删除它之外,某些组被授予了某些

  • 问题内容: 如何在Android中递归扫描目录并显示文件名?我正在尝试扫描,但是速度很慢(强制关闭或等待)。我正在使用对此问题单独回答中给出的类。 问题答案: 您几乎应该始终仅从非UI线程访问文件系统。否则,您可能会长时间阻塞UI线程并获得ANR。在运行FileWalker 的。 这是FileWalker的稍微优化的版本: 您可以从这样的后台线程调用它:

  • 问题内容: 如何获取/扫描从所有项目使用。我在这里发布我的代码。 这给了我下面的错误。 这里的主键是user_id。我不想在查询条件中使用它,因为如果我在中提到了主键,则需要设置一个值。可能是我错了。但是请建议我从获取的所有项目的好方法,这是有 问题答案: 如果要在不使用哈希键值的情况下从DynamoDB获取数据,则需要使用。 注意: Scan API读取表中的所有项目以获取结果。因此,这在Dyn

  • 我正在尝试找出存储在一个匹配Redis模式的键列表中的值。我尝试使用以便稍后使用获取所有值,但问题是: 返回所需的键。如何强制查看所有现有键?我得去查lua吗?