Amazon dynamodb 用于查询附近坐标的DynamoDB模式

我正在为存储位置的表的DynamoDB模式设计而苦苦挣扎。该表将具有[userId、lastUpdateTime、locationGooglePlaceId、经度、纬度、hideOnUI(bool)] 其中一个主要查询是给定用户当前位置(x,y)作为GPS坐标,根据其经度和纬度查询附近的用户ID 问题是我如何为此目的设计索引?表本身可以有哈希键UserId、排序键lastUpdateTime;但GSI会怎么走?我似乎无法识别“equal”操作的任何分区键 在SQL中,它将类似于: 从表中选择*

Amazon dynamodb 在DynamoDB中处理Java8日期和时间的最佳方法

我研究了使用JavaSDK存储日期和时间的DynamoDB选项。就我所见,Java8LocalDate和LocalDateTime需要自定义转换器,而对于旧的日期、日历和Joda time LocalDateTime则有一些注释 根据文档,@DynamoDBTypeConvertedTimestamp支持标准日期类型转换,例如java.util.Calendar,Long@DynamoDBTypeConvertedEpochDate可用于将日期、日历和org.joda.time.DateTime

Amazon dynamodb AWS Dynamodb连续备份不可用异常

我正在尝试备份我的DynamoDB表,它最初是在一年多前使用DynamoDBs新的“备份”功能创建的。但是,当我创建备份时,会收到以下错误消息: Backups are being enabled for the table: prod-supercoolsoftware-stuff. Please retry later (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ContinuousBackupsUnavailable

Amazon dynamodb GSI上带条件检查的DynamoDBSaveExpression

我想进行更新,但我想添加的条件检查不是基于主表的哈希/范围,而是基于GSI 实际上,如果给定属性(即GSI的哈希)已经存在,我希望保存失败 例如,在一个虚构的employees表中,“SSN”是散列键,“EmployeeId”上有一个GSI。这两个属性都必须是唯一的。在保存员工时,我希望确保表中没有使用“SSN”或“EmployeeId”。我可以对表的散列(即SSN)执行此操作,但不能对GSI的散列执行此操作 支持吗?我在文件中没有看到这一点 谢谢 您描述的方法在使用DynamoDB时是不可能的

Amazon dynamodb AWS AppSync GraphQL通过字段值查询记录

我有一个用户表,其中包括电子邮件、电话等,我想根据记录的电子邮件或电话值(而不是#Id)查询记录。由于没有足够的知识,我写了一个这样的模式: type Query { ... getUser(id: ID!): User getUserByEmail(input: GetUserByEmailInput!): User ... } input GetUserByEmailInput { email: String! } { "data": {

Amazon dynamodb dynamo db全局表的每个区域的不同RCU

我正在为我的一项服务使用dynamo db global tables,并根据一般建议为所有地区提供相同的RCU/WCU(RWCU)。我没有使用按需模式 我理解,WCU应该在各个地区保持一致,以允许写操作进行复制。然而,我的服务的读取流量在不同地区差异很大。所以我想知道是否可以为每个区域配置不同的RCU?文档中没有特别提到任何关于RCU的内容。在不同地区保留不同的RCU是安全的。典型的用例是主动-被动多区域体系结构 但是,如果从一个区域到另一个区域的故障切换是自动的,您应该确保被动区域能够处理

Amazon dynamodb 如何在DynamoDB中使用组合键从表中获取所有主排序键

我想要一个包含组合主键分区键和排序键的表中所有主排序键的列表。该表包含许多分区。您需要使用扫描,对结果进行排序并删除重复项 明智的做法是使用扫描的ProjectionExpression属性将响应仅限于分区和排序键。正如另一个答案所提到的,扫描将是表本身的唯一解决方案 这在一张大桌子上既不快也不便宜 P>如果你经常需要,考虑其他几个选项: 使用触发器Dynamo streams+lambda跟踪插入时的关键值 具有虚拟哈希键值和实际键的排序键的全局二级索引 如果您需要在数据更改时访问此数据,请

Amazon dynamodb 为了高效查询,我应该将此字段设置为GSI、常规属性还是其他属性?

对于我的DynamoDB表,我目前有如下模式: 分区键-唯一ID,因此每个项都有一个完全唯一的ID 排序键-无 属性-包含一些值的JSON 现在,我想添加一个新字段,该字段将是每个项目所必需的,并将指示特定区域,例如NA-1、NA-2、JP-1等,我希望能够仅对该字段进行查询。例如,我可能希望对我的表执行查询,以检索区域NA-1的所有项 我的问题是,我是否应该将此字段设置为GSI?我是DynamoDB的新手,所以我一直在网上研究,当该字段可能只出现在表中的选定项目中时,使用GSI似乎是首选,但每

Amazon dynamodb 可查询的未绑定项目数量

我一直在考虑查询未绑定数量项目的可能策略 例如,想象一个论坛——你可以有任意数量的论坛帖子按主题分类。您需要支持至少两种访问模式:帖子详细信息视图和按主题列出的帖子 // legend PK = partition key, SK = sort key 虽然很容易获得一篇文章,但如果不进行扫描,就无法有效地查询文章列表 PK = postId 非常适合查询给定主题的所有帖子,但所有帖子都位于同一分区(“热分区”) 将物品储存在桶中,例如每天新的桶。这会将大量逻辑推送到应用层并增加延迟。例如,

Amazon dynamodb boto DynamoDb查询/扫描ProjectionExpression语法?

默认情况下,扫描会从中返回每个项目的所有数据属性;但是,您可以使用ProjectionExpression参数,以便扫描只返回部分属性,而不是全部属性 我想知道是否有人知道在boto中使用ProjectionExpression参数的语法是什么 比如我有 leagueTable = Table('leagues', schema=[HashKey('leagueId', data_type=NUMBER)] 我想使用ProjectionExpression参数扫描表,只返回所选字段 根据处的文

Amazon dynamodb 将dynamodb_本地数据库文件传输到另一台计算机

我们在一些堆栈中使用DynamoDB,并在开发机器上使用Amazon的DynamoDB_本地实例。我最近升级到了一个新的Macbook,并且正确地设置了我的开发环境,但是我不确定如何移动看起来像任何东西的dynamodb_本地数据库文件,或者如何在新计算机上与我的新dynamodb_本地实例一起使用它 dynamodb_本地实例与2014-10-07版本相同,运行正常。如果在运行时使用-dbPath选项使用anywhere\u localhost.db文件指定目录,它似乎不会读取/检测我的db文

Amazon dynamodb 在DynamoDB上检索列以指定文本开头的所有项

我在DynamoDB有一张桌子: Id: int, hash key Name: string (还有很多列,但我省略了) 通常我只是根据项目的Id提取和更新项目,这个模式可以很好地实现这一点 但是,其中一个要求是基于名称有一个自动完成下拉框。我希望能够查询DynamoDB表中以查询字符串开头的名称列的所有项 解决这个问题的SQL方法是在Name上添加一个索引,然后从Name所在的表中编写一个SELECT Id这样的查询,比如'query%',但我想不出一个DynamoDB友好的方法来实现这一

Amazon dynamodb DynamoDB全球二级指数提高性能

我正在设计一个用于跟踪呼叫活动的应用程序 每个呼叫可以被终止或激活。应用程序将每分钟查询数据库以生成激活调用列表。每秒最多可拨打1000个电话 我应该如何设计我的数据库?我是否应该在“state”属性上有一个“Call”表和一个可以等于“activate”或“terminated”的全局二级索引 或 “调用”表和“isActive”属性上的全局二级索引,仅用于活动调用。如果使用问题中建议的模式,您可能会遇到以下问题: CallList将“state”作为GSI的表,这样您就可以查询GSI并获取所

Amazon dynamodb dynamodb赢得';不要在本地运行

接下来,我下载了dynamodb.jar,并运行了以下命令: java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb 这似乎有效: 但是当我输入http://localhost:8000,我收到一个错误: 怎么了?URL应该是。请使用此链接。它应该有用。修复了语法和拼写

Amazon dynamodb DynamoDB-DAX度量

我想用lambdaцdynamodb构建无服务器应用程序。要创建集群,我必须知道特定配置如何与表的结构和大小配合使用。为了找到答案,我打算使用CloudWatch指标,但事实证明,它们不能反映客观现实,也不能在特定时刻显示集群的“需求”。可能有人遇到过这样的问题,可以建议如何最好地确定有关表参数、请求数量和类型的群集配置?因此,很大程度上取决于特定的工作负载、预期的命中率、密钥访问的分布等。这里有一些经验法则,但随着时间的推移,这些可能会随着服务的变化而变化,因此最好使用自己的工作负载进行自己的

Amazon dynamodb DynamoDB通过检查属性值长度进行条件更新

DynamoDB表中的一个属性是一个名为REQUEST\u IDS的列表,我想在更新项目之前检查该列表的长度,看看它是否满足条件(小于10)。如何在nodejs的ConditionExpression中引用数组长度?这可行吗?您正在寻找条件操作size 在您的情况下:ConditionExpression:'size(请求ID)

Amazon dynamodb 如果DynamoDB二级索引中没有属性更改,它会被重写吗?

在AWS文件中: 每当表上发生写操作时,必须删除该表的所有索引 更新。在具有大型表的写操作繁重的环境中,这可能会 消耗大量的系统资源。以只读或 主要是阅读环境,这并不是一个太大的问题。然而, 您应该确保您的用户实际正在使用索引 应用程序,而不仅仅是占用空间 但是,如果我正在创建一个全局二级索引,而该索引的属性没有发生任何更改,它会导致重写吗 例如,假设我有下表: 关键字(散列)|电话号码(范围)|属性1…N |帐户ID 关键字,电话号码和帐户ID不会更改(但整个项目可能会被删除) 和全球二级指

Amazon dynamodb 受限制的写入事件是否意味着我的数据未写入这些事件的数据库?

有时,由于高流量,我在Dynamodb中遇到了阻塞事件。无论何时在度量中,我都可以看到限制事件,这是否意味着在这些情况下,数据没有写入数据库?是的,但是,您使用的是AWS SDK吗?如果是这样,那么它应该重试 从 节流可防止应用程序消耗过多容量 单位。当一个请求被限制时,它会失败,并产生HTTP 400代码 (错误请求)和ProvisionedThroughoutExceededException。美国焊接学会 SDK内置了对重试限制请求的支持(请参阅错误) 重试和指数退避),因此不需要编写此

Amazon dynamodb 如何将数据格式化为algolia

我正在学习如何使用Algolia,我有几个问题 我有一个table FreightDriver,它与table Truck有一对多的关系 id: ID! name: String! email: String! phoneNumber: String! cities: [String!]! state: String! country: String! picture: String trucks: [Truck] @connection(keyName: "byFreightDriv

Amazon dynamodb DynamoDB中的分页

我需要在jsp上显示最大计数为10的搜索结果,并且它应该具有分页功能,可以作为分页功能来回遍历 Dynamodb有一个lastevaluatedkey,但是返回上一页没有帮助,尽管我可以通过lastevaluatedkey移动到下一个结果集 谁能帮我一下吗 我使用JavaSpring和DynamoDB作为堆栈 谢谢 Satya您必须在会话变量、查询字符串或稍后可以访问的类似内容中保留上一个键的记录,然后在您想要返回时使用该键执行查询。迪纳摩不会为你记录这些 要启用向前/向后,只需保持 第一个键,

Amazon dynamodb DynamoDB:扫描多个非关键属性

我正在将我的应用程序从mysql迁移到DynamoDB,我有一个表,根据特定条件匹配5个非键属性。此表将有许多读取操作(扫描) 问题:有没有任何可能的方法可以让我设计一个表格,而不必扫描表格 道路上的任何光线都会有帮助。 谢谢我相信最近发布的产品正是您所需要的 与本地二级索引一样,查询时不能有多个索引 这意味着您可能需要将一些逻辑移到应用程序层

Amazon dynamodb 最终的一致性和更新

我希望能够只更新现有项目的某些属性,而不首先获取项目 首先,如果为操作设置了“ignorenull values”选项,我是否正确地假设这会起作用?也就是说,只有指定的属性将得到更新,其余属性将保持不变 其次,假设在将项添加到表中后的很短时间内进行更新。是否有可能更新失败或原始数据丢失,因为操作将由还没有项目数据的服务器接收?如果是这样,“一致读取”选项对这种类型的操作有影响吗?首先,dynamodb中没有不同的插入/更新。如果更新时对象不存在,则即使是也会创建对象。依我看,如果使用映射器,最好

Amazon dynamodb DynamoDB突变被放置到哪个流碎片?

我正在研究将DynamoDB复制到ElasticSearch(ES)中。为此,我们评估了,但发现以下缺点: 拉模式下的日志存储没有HA/故障切换功能。它成为复制的SPOF 由于我们不希望在ES索引上执行应用程序级联接,因此我们希望将多个表合并到一个ES文档中。该插件不提供此用例的功能 因此,我们正在评估以下两种方法 Lambdas读取DynamoDB流并通过SQS将其推送到ES 我们自己的DynamoDB流处理器将取代AWS lambdas 现在来看实际问题:排序对于将数据从Dynamo流复

Amazon dynamodb DynamoDB项目的最大尺寸

有人知道amazon dynamo DB支持的最大项目负载大小吗?我确信它埋在某个地方的文档中 我的后续问题是,如果存在连接断开(客户端或服务器),则在上载大数据块时,是否有方法从您停止的位置继续上载?DynamoDB项目的最大大小为400KB 从: DynamoDB中的最大项大小为400 KB,其中包括属性名称二进制长度(UTF-8长度)和属性值长度(同样是二进制长度)。属性名称计入大小限制 这是我从文档中可以看出的 无限属性/项目 无限项目/表格 最大400KB/属性 -最大64KB/项目

Amazon dynamodb 创建Dynamodb表,除了分区键之外还有3个搜索列,这可能吗?

您好,我已经创建了一个dynamodb表,但是当我尝试执行table.GetItem时,仅附加用户名图像时出现了错误 发现这是一个设计糟糕的表,所以考虑到重新创建一个新表,我的问题是如何为一个包含一个主键和3个搜索列的表设置属性、本地二级索引和全局二级索引。 或 在dynamodb中,除了分区键columnuser\u ID之外,还有3个搜索列suser\u email、Username、Usertype吗?GetItem API需要分区键和排序键。但是,您可以使用仅具有分区键属性值的查询API

Amazon dynamodb 更新部分复合键上的项

我在amazon服务器上有一个dynamodb,我想在表中为大约一半的记录添加一列 该表有一个复合键,我想将范围作为参数提供,并且我想更新仅满足该参数的所有记录(不考虑散列) 目前,我有以下json文件: key.json { "ExchangeName": {"S": "TSX"} } expression-attribute-names.json { "#S":"Suffix" } expression-attribute-val

Amazon dynamodb DynamoDB查询辅助索引ValidationException:条件参数类型与架构类型不匹配

我正在使用无服务器框架开发一个AWS服务。到目前为止,它只有一个表和两个全局二级索引。我试图查询全局二级索引 查询: { "TableName": "messages-table-dev", "IndexName": "roomIndex", "KeyConditionExpression": "room = :room", "ExpressionAttributeValues": { ":room": { "S": "ev

Amazon dynamodb DyanmoDB显示Item Count=0、未填充且未在Appsync查询中工作

为了对结果进行排序,我在DynamoDB表中添加了一个索引,但它似乎没有做任何事情。在DyanmoDB仪表板中,它显示为0大小和0项目计数 表中有几百个项目,它们都有一个id(主键)和一个创建的值。创建表时,我没有设置范围属性。下图中的项目顺序正确,但通过appsync的响应不正确 我已将索引添加到查询中,该查询返回所有项目,但它似乎没有任何作用,无论是否使用索引,项目的顺序都是相同的: "version" : "2017-02-28", "operation" : "Scan", "ind

Amazon dynamodb 发电机中的虚场

Dynamoose是否支持schema.virtual()?或者有没有办法达到同样的效果 我在v2文档中看不到它,但在过去似乎有一些对它的支持-请参阅 我知道Dynamoose的灵感来源于Mongoose,而Mongoose也有这个功能

Amazon dynamodb 如何管理dynamoDB结构?

我们正在尝试创建类似uber eats的东西。后端是无服务器的。我们有菜单项,每个菜单项都有它的属性,这些属性存储在DynamoDB的菜单表中 此应用程序仅适用于单个餐厅特许经营。对于同一特许经营权,我们可以从不同的门店订购功能。 产品的某些属性(如标题、价格、SKU)是常见的。但不同门店的促销活动、可用库存等属性是不同的 我试图将结构管理为: { "title": "title", "sku": "sku00

elasticsearch 弹性搜索:它是否在内部维护反向索引和非反向索引?

我在读关于弹性搜索的书。看起来它对所有文档中的所有术语都保持反向索引。但它是否也保持了正常的索引,即从文档id到文档的索引?而且,由于它在所有字段和所有术语上都维护了大量索引,所以它会占用太多内存吗? 例如,与DynamoDb相比,比如说,我只在2个字段上建立了索引,在这里它在每个术语上形成了索引,这将更节省内存?太多”是一个非常自以为是的问题,完全取决于您的用例。要做出明智的决定,您需要深入研究几个主题(Elasticsearch功能强大,但您需要知道自己在做什么): vs 尤其是\u al

Amazon dynamodb 在DynamoDB中查询索引会导致主键错误

我发现在桌子上查询GSI很困难。下面的代码示例导致与主键相关的键错误,尽管我使用的是索引 表定义: TableName : config.user_table, KeySchema: [ { AttributeName: "user", KeyType: "HASH"} ], AttributeDefinitions: [ { AttributeName: "user", AttributeType: "S" }, { AttributeNam

Amazon dynamodb Dynamodb二级索引用于实时更新的延迟

我想知道Amazon Dynamodb全局二级索引是否可以用于写操作非常繁重的实时应用程序。聊天应用程序。 其中,一旦主表写入/更新完成,需要在亚毫秒延迟内更新全局辅助索引。有可能吗?对于这些要求,目前没有。虽然DynamoDB可以处理非常高的写入吞吐量,但当前数据将以一位数毫秒的延迟(而不是亚毫秒)从表复制到GSI。只需确保您的数据模型正确。根据这些要求,目前没有。虽然DynamoDB可以处理非常高的写入吞吐量,但当前数据将以一位数毫秒延迟(而不是亚毫秒)从表复制到GSI。只需确保您的数据模型

Amazon dynamodb 在Dynamo db中扫描与BatchGetItems

如果我知道项目的主键,哪种方法是最好的方法 使用FilterExpression和IN运算符进行扫描 请求参数中包含所有键的BatchGetItem 请从延迟和分区影响两方面推荐解决方案。可能两者都没有。当然,这一切都取决于键模式和表中的数据,但您可能希望为最常用的查询创建一个全局二级索引 话虽如此,;不鼓励执行扫描,尤其是在处理大量数据时。因此,如果您知道您感兴趣的项目的主键,那么在进行扫描之前,请选择BatchGetItems。可能两者都不知道。当然,这一切都取决于键模式和表中的数据,但

Amazon dynamodb Alexa SDK V2高-低游戏没有像教程中所说的那样工作

我试图遵循alexa sdk v2的高低游戏教程,但即使遵循教程,我也会遇到一个错误 链接到教程: 这是index.js中的代码: const Alexa = require('ask-sdk'); const ddbAdapter = require('ask-sdk-dynamodb-persistence-adapter'); // included in ask-sdk // TODO: The items below this comment need your attention.

Amazon dynamodb 如何以编程方式在DynamoDB中恢复备份表?(使用C#)

我打算以编程方式复制DynamoDB表。除了扫描表并将其保存到新表之外,我没有找到任何查询,但是因为表很大,所以需要花费不合理的时间来实现这一点。因此,我认为另一种方法应该是备份表,然后将其恢复到新表中。然而,我在c#中找不到任何可以做这件事的东西 非常感谢您的帮助。您可以使用DynamoDB备份/还原 var backupResponse=wait dynamoDbClient.CreateBackupAsync(新的CreateBackupRequest { BackupName=Backu

Amazon dynamodb DynamoDB表格-->;CloudSearch==字段";l";域配置中不存在

摘要 我有一个DynamoDB表,其中包含不到十个项目,我正在尝试使用CloudSearch对其进行索引。CloudSearch索引器建议一个名为“l”的不存在属性。这似乎源于dynamodbjson“list”键(在我的例子中,它存储列表对象的数组,即所有字符串)。无论如何,即使在索引字段配置时删除此键,在文档上载时仍会出现以下硬错误: {["Field "l" does not exist in domain configuration (near operation with index

Amazon dynamodb DynamoDBMapper和事务序列

我正在看AWS文档中的示例代码。它似乎在将映射器放入事务之前先调用mapper.save。从我的角度来看,根据顺序,在创建事务之前,首先保存了对象。在调用save()之前,我们不应该先将它们放入事务中吗 private static void testPutAndUpdateInTransactionWrite() { // Create new Forum item for S3 using save Forum s3Forum = new Forum();

上一页 1 2 ...  5   6   7   8    9   10   11  ... 下一页 最后一页 共 37 页