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

DynamoDB获取上次使用辅助索引得项计数

张宝
2023-03-14

我在DynamoDB中有一个表,它有列(1.id、2.item、3.entry time),其中id是主键。我需要在过去24小时内输入到表中的一种类型(有两种类型的项目,让它是A和B,我需要A的计数)的所有项目的计数。有什么办法可以使用二级索引做到这一点吗?我找不到太多与此相关的信息。

共有1个答案

易流觞
2023-03-14

全局辅助索引将帮助您聚合相同类型的项,但它们不会给您这些项的计数。虽然这在您的应用程序中可能很有用,但它并不能完全解决您的访问模式。

与SQL对应方不同,DynamoDB不提供开箱即用的聚合操作。如果您想要合计、最小值、最大值、平均值等,您将需要自己维护这些聚合。

实现此特性的一种常见模式是使用DynamoDB流来维护表中的聚合。

当您在表上启用DynamoDB流时,您将配置一个lambda,以便在每次对表执行操作(例如,插入、删除、更新等)时执行。当这个lambda收到您关心的事件的通知时(例如,插入/删除了一个新的a类型项),您将增加/减少表中a类型项的总数。如果您遵循此模式,则可以通过非常快速的getitem操作来支持您的访问模式。

 类似资料:
  • 我刚刚开始使用DynamoDB并设置了一个“accounts”表。 我已经设置了一个辅助索引,以便可以查询api用户和用户键。这两个值都不是主键,因为它们都是易变的,并且可以更改。 该表是用 索引为 我现在试图通过查询索引来获取uses帐户。 我在努力 但是我得到了一个错误,这使我认为我不能对索引执行“get”?或者我没有正确地引用索引。谁能帮我澄清一下吗? 名称和API键是唯一的,所以我想尽可能

  • 我有一个具有以下属性的dynamo表: ID(数字-主键) 标题(字符串) created_at(数字长) 标记(StringSet-包含一组标记,例如android、ios等,) 我想要能够通过标签查询-让我所有的项目标签Android。我怎么能在Dynamodb里做到这一点呢?似乎只能在ScalarDataTypes(即Number和String)上构建全局辅助索引,而不能在集合内的项上构建全

  • 我们可以仅用全局辅助索引更新dynamodb项吗? 在上面的代码中,我想要替换键节,并使用一个全局辅助索引更新项,即user_id。

  • 我有一个现有的表,它有两个字段-主键和全局辅助索引: 既然attributeA作为全局辅助索引,我可以通过为全局辅助索引指定一个值来删除所有项吗?例如,我想删除所有属性为id1的记录-这在Dynamo中是可能的吗? Dynamo提供了关于删除索引本身的文档,但没有特别说明是否可以使用GSI删除多个项

  • 问题内容: 我在python中有一个元组(“ A”,“ B”,“ C”,“ D”,“ E”),如何获取特定索引号下的哪个项目? 示例:假设给定0,它将返回A。给定2,将返回C。给定4,它将返回E。 问题答案: 您显示的不是,而是一个(圆括号而不是方括号显示)。但是,无论是索引列表 还是 元组(在索引中获取一项),无论哪种情况,都需要将索引附加在方括号中。 所以: 打印,等等。 元组(不同于列表)是

  • 问题内容: 为了优化起见,我试图减少我的总字段数。但是在开始之前,我想了解一下我实际上有多少个字段。端点中似乎没有任何信息,而且我不太清楚迁移工具如何进行字段计数计算。 是否可以通过某种端点或其他方法来获取指定索引的总字段数? 问题答案: 为了进一步根据其他答案提供更多信息,您可以获取映射,然后简单地计算关键字在输出中出现的次数,这将给出字段数,因为每个字段都需要一种类型: