问题标签 [amazon-dynamodb-index]
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.
java - 基于 GSI 更新 Dynamo DB 列
我创建了一个包含 4 列的表 TEST:
column1:范围键
column2:排序键
第 3 列:GSI
column4:普通属性
现在我想根据 GSI 值更新 column4 的值。我尝试使用以下代码,但它仅在我同时传递范围和排序键时才有效。在我更新时的用例中,我只有 GSI 的值而不是范围/排序键。
这是否可以仅基于 GSI 更新 Dynamo DB 列?
laravel - dynamodb 查询我试图使用 laravel 从 dynamodb 获取一些数据
查询现在可以工作,但问题是attribute_not_exists
当我添加 attribute_not_exists 时,整个查询不起作用。
错误消息:“一个或多个参数值无效:辅助(截断...)ValidationException(客户端):一个或多个参数值无效:辅助索引status-created_at-index不投影一个或多个过滤器属性:[附属, 代理人, 合伙人]"
有人可以解释为什么吗?谢谢,我是新手
amazon-dynamodb - DynamoDB 全局索引重载与稀疏索引
我们正在设计一个使用 DynamoDB 作为存储系统的应用程序。
我们确定了不同的访问模式,在查看了 Global Secondary Indexes 文档后,我们决定使用哪种方法:索引重载或具有 2 个稀疏索引。
为了提供更多上下文,我们的应用程序存储订单,我们可以有内部或外部订单。基于此,它们将链接到客户或仓库:
由于我们想按客户和/或仓库进行搜索,我们考虑了 2 个解决方案。
第一个解决方案是,保留上述数据结构,在以下位置创建 2 个索引:
- GSI1 - 客户 (PK)
- GSI2 - 仓库 (PK)
第二种解决方案是重载另一列,例如:
所以只需要 1 个索引:Destination (PK),并且查询应用带有前缀。
问题是:“索引重载与拥有 2 个不同的稀疏全局二级索引相比有什么好处吗?” (容量配置、数据传输、查询时间、数据复杂性等方面的成本节省......)
amazon-web-services - 为什么以下 dynamoDB 使用条件表达式写入成功?
我有以下代码来创建一个 dynamoDB 表:
然后我用它来创建两个 put-items :
当我做第二个put_item
时,PK
系统中已经存在,只有排序键不同。但是我设置的条件只存在于相同的情况下PK
。所以第二个put_item
应该失败吧?
amazon-dynamodb - 在 dynamodb 上关联 2 个允许分页的表
:) 我最近开始使用 aws 平台,但我很难开发一件事。基本上我想链接两个不同的 dynamodb 表(如公司表和订单表),一个公司可以有不同的订单连接到它。我做的第一件事是在公司的表中存储一个订单 ID 列表,但问题是我无法索引数组,所以知道该公司的订单有点问题,因为它不能进行分页。
我想不出更好的解决方案,所以如果有更多经验的开发人员可以告诉我一种存储此关联的方法,我将不胜感激。谢谢
amazon-dynamodb - 如何基于 DynamoDB 复合排序键定义有效的范围查询?
使用复合排序键,可以在数据中定义层次(一对多)关系,可以在层次结构的任何级别进行查询。
例如,在列出地理位置的表中,排序键的结构如下:
基于使用排序键来组织数据的最佳实践,应该可以对这些聚合级别中的任何一个级别的位置列表进行有效的范围查询,从国家到人口,以及介于两者之间的所有内容。
如何编写查询,例如获取城市名称以“新”开头、成立于 1923 年 3 月 14 日之前且人口超过 100,000 的所有项目?
amazon-dynamodb - 当范围键为版本号时,如何在 DynamoDB 中获取范围键的最大值?
我创建了一项服务X,其中包含一些数据的会计请求来自许多其他服务Y。我通过添加许多属性从该数据创建一个idempotent_id,以便该 idempotent_id 保持唯一。我还创建了一个idempotent_version并将其设置为 1。我将此记录存储到 dynamoDB 中(使用 idempotent_id 和 idempotent_version 作为分区键和排序键)。现在,我调用其他一些服务Z使用这个 idempotent_id 和 idempotent_version。一段时间后,假设具有相同数据的请求来了,我创建了 idempotent_id 但它会和以前一样,因为我们正在处理相同的记录。现在我必须创建 idempotent_version 在这种情况下为 2,因为之前有相同的请求(如果已经有 n-1 个请求,这可以是 n)。我如何找到当前数据记录的 idempotent_version,因为我将使用此版本将数据存储到 dynamoDB 中,并使用此版本调用服务Z。(当前场景为 2)
amazon-dynamodb - 在 dynamo DB 中使用二进制属性进行 GSI 索引是个好主意吗?
我的 DynamoDB 表中有一个属性,它将采用二进制值success和failure。
如果我必须从此表中获取/查询成功或失败记录,我可以对此属性进行 GSI 索引吗?
还是我应该为成功和失败场景制作两个不同的表格?
如果不应该对二进制属性进行索引,
二进制属性的 GSI 索引有什么问题?
它将如何影响查询操作的性能?
nosql - 当我们需要访问任何特定分区键的最后一个排序键时,是否会对性能产生任何影响
我正在创建一个 dynamoDB 表。我使用 customerId 作为分区键,使用 versionNumber 作为排序键。假设任何特定的 customerId 有 1000 个版本。对于我的用例,我总是想找出任何 customerId 的最新版本。当我想要第一个 versionNumber 和当我想要最后一个 versionNumber 或两者都需要相同的时间时,性能会不会有任何差异。