问题标签 [dynamodb-queries]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
250 浏览

python - 添加到地图列表或更新先前添加的地图 aws-dynamodb 的值

我的 dynamodb 中有一个“地图列表”类型的属性。例如 List = [{key1: value1},{key2: value2},{key3:value3},...] 我想用 current_key 更新列表(来自我的 python 脚本)以添加新键或替换值,如果current_key 已经存在。

0 投票
1 回答
67 浏览

database - 如何有效地从 DynamoDB 中检索海量数据?

我们正在开发 IOT 应用程序,在该应用程序中,我们每隔一分钟从 IOT 设备接收自定义路线地质数据,并将其存储在DynamoDB500-600 字节的大小中。

现在我们要显示每台设备的报告,包括过去 7 天每分钟或每 15 分钟的数据。

我们想要达到的目标:

由于我们想geological在地图上显示所有点,我们想开发一个 API,它返回给定设备 7 天的数据。

问题:

我们有大约6MB(7 天内 600 字节*10080 分钟)数据,查询在单个查询中DynamoDB仅返回1MB数据,我们尝试在DynamoDB查询中进行分页,这需要6 个查询来收集所有数据,这需要大量时间和 API 超时。

0 投票
1 回答
500 浏览

amazon-dynamodb - 使用 OR 条件使用分区键和排序键查询 DynamoDB

我需要查询 dynamoDB 并获取所有符合特定条件的记录。要求是,我有一个表说 parent_child_table,它有 parent_id 和 child_id 作为两列,现在我需要查询具有特定输入 id 的表并获取所有记录。例如

在此处输入图像描述

现在如果我用 id 67899 查询数据库,我应该得到两条记录,即 12345 和 67899。

我试图使用以下方法:

  1. GetItemRequest itemRequest=new GetItemRequest().withTableName("PARENT_CHILD_TABLE").withKey(partitionKey.entrySet().iterator().next(), sortKey.entrySet().iterator().next());

但我没有得到 OR 运算符。

0 投票
1 回答
4626 浏览

node.js - 如何检查并更新 node.js 中的 AWS dynamoDB 项目?

这是一个例子。我在 Node.JS 中使用 AWS Lambda 函数。这是 DynamoDB 中的对象:

现在我想先看看他保存的分数是多少。如果他当前的分数高于 DB 中已经存在的分数,则更新 DB,否则保持原样。目前,我的代码每次都在更新它。我不确定如何进行以及使用哪个功能。

如果他的分数是 15,那么在检查数据库后,它应该将其更新为:

如果他的分数是7,它应该保持原样。

编辑 - 以下问题也已解决。找到了解决方法。仍在寻找答案。所以让它打开。

现在我的问题是我使用相同的功能来更新和创建记录。那可能吗?

如果新用户玩游戏,他的电子邮件、姓名和分数都会保存到数据库中。如果现有用户玩游戏,则只有他的分数大于 DB 中的分数时才会更新。

这是我目前陷入困境的地方。得到这两个问题,1. name 是保留关键字。我想知道当我刚刚使用 put 时,它是如何允许我使用 name 作为属性的。2. 电子邮件无法更新,因为它是密钥的一部分。

这是我当前的代码,

0 投票
1 回答
2000 浏览

.net - DynamoDb 大表查询速度

我们正在从 mysql 迁移到 dynamo db 在此之前我有一些问题

我的 mysql 表上有 4000 万个项目

有一个开始,我将 225,000 移到 dynamo db 的一张桌子上,以测试它是否值得

我的对象看起来像这样:

我的第一个测试是通过 account_id 获取数据

所以我为这个字段创建了一个全局索引

我尝试了什么:

使用正确的索引查询account_id = 2 的所有数据

花了大约 90 秒,返回了 225,000 件商品

这是 dynamo db 的正常速度吗?

现在可以说我不需要返回实际的对象我只需要计算有多少对象

火柴:

account_id=3

AND book_id=10

和 reader_id=222

我知道我需要为此扫描表格

什么是最好的方法,我可以期待这种扫描的“正常”速度吗

一张桌子有 4000 万件物品?

非常感谢

0 投票
1 回答
1838 浏览

aws-lambda - 如何在扫描操作中使用 FilterExpression 查询 DynamoDB 中的对象数组

在此处输入图像描述

如何使用扫描操作在 dynamoDb 中查询仅包含“Tue”的对象数组(workingDays)键,我已经使用过滤器表达式进行了查询,但我没有得到任何结果。

0 投票
1 回答
674 浏览

amazon-dynamodb - 如何动态替换 Dynamodb 中的 where 条件参数?

当前代码示例:

在真实场景中,我会得到不同的值。我需要在上面的查询中传递这些并获取输出。此外,最好防止数据注入。

期望:

0 投票
1 回答
524 浏览

java - 读/写地图从/到 DynamoDB

我有一个用例,我想从 Java 中的 DynamoDB 读取地图。我面临的问题是如何将 Map 转换为 Java 中的 POJO。例如,让以下内容为 Dynamo DB 中的内容

在我的 Java 服务中,我想将它读入一个对象,比如 Map。City、Education、Age 都是它们自己的 Java 类。如何将此数据建模为一个类?以下模型是否有效:

有没有更好的方法来做到这一点?我在想也许,我可以将 someInfo 作为 Map 并在从表中写入和读取时将对象序列化和反序列化为 JSON。这行得通吗?

0 投票
1 回答
466 浏览

graphql - AWS AppSync 初始批量放置不更新缓存

我将 AWS AppSync 与 Angular 7 应用程序一起使用,并像这样初始化客户端:

当 AppSync 进行查询并且 dynamodb 中已经有请求的值时,它工作正常:

此查询结果被缓存,当我进行突变时,突变的响应:

导致缓存通过键比较更新,这也正常工作。

但是,当 dynamodb 中还没有值时,获取返回的结果如下:

所以现在这个查询被缓存了,当对结果进行突变时

它无法更新缓存。因此,接下来的几次执行从缓存中获取的查询,我仍然得到空结果,但是我需要在收到初始 put 突变的突变结果后立即更新缓存。

一旦下一个查询从服务器获取新数据,所有进一步的突变都会立即更新缓存,因为现在缓存中有具有相同键的条目。

所以我的问题只发生在最初的 put 上,我不知道要改变什么。

  • 也许更新解析器映射

显示查询键+空结果值?

  • 初始放置后清除缓存?

我肯定想使用该network-and-cache选项,因为它除了最初的看跌外效果很好。

如果有人可以帮助我解决这个问题,我将不胜感激。

0 投票
1 回答
107 浏览

nosql - 查询dynamodb表中数值范围内的项目

我需要一些指导来实现新聊天消息的邮件通知。邮件通知将通知用户前一小时内有新消息的所有聊天。

为了完成它,我需要在一个时间间隔内查询一个表中的所有聊天。首先想到的是添加新的全局索引,其中哈希将是聊天是否有未读消息的布尔值,范围将是该聊天中最新消息的时间戳。

但我了解到布尔哈希键是一种反模式,因为它们会将文档压缩在单个分区中。

是否有不同的模型可以让我们查询数字范围内的表中的所有项目?