Amazon dynamodb 在Dynamo中检索随机单个项

我们试图让我们的头脑围绕一个设计问题,这在任何数据库中都不是很容易。我们有100000个随机项,(可能更多),(我们说的是一个真正的随机键,我们将使用UUID),我们希望一次分发一个。秩序并不重要。我们认为我们将创建一个包含项目的dynamo表,然后在分配项目时将其从该表中删除。我们可以进行有条件的删除,以确保我们尚未将项目送出。但是,当我们在第一个位置尝试查找一个项目时,如果我们进行扫描或限制为1的查询,它是否总是命中相同的第一条可用记录?我想知道后果是什么。迪纳摩将在UUID上进行切分。我们

Amazon dynamodb 将DynamoDB项映射到Cognito用户池对象

我正在研究Cognito用户池、联邦身份和DynamoDB。为了实现细粒度的访问控制,我必须在DynamoDB表中使用Cognito标识Id,因为用户池中的任何内容都不能在IAM策略中引用。值得一提的是,${cognito identity.amazonaws.com:sub}指的是身份id,而不是我们在cognito用户池中看到的“sub” 问题是如何将DynamoDB中的项映射到用户联系人 例如,考虑一个场景,如果我的应用程序的用户有未决的付款,并且如果我必须与他联系付款。或者,如果一个用户

Amazon dynamodb DynamoDB DeleteItem是否安全?

对于DynamoDB,我永远不知道另一边发生了什么。这让我想知道:一旦我发出DeleteItem请求,到底发生了什么 我希望一次性永久删除包含敏感信息的记录,理想情况下,这样它就不会保留在底层文件系统中。这是DynamoDB可以做的吗?考虑到DDB的分布式特性,我怀疑答案是否定的 事实上,报告说 使用此对账机制,永远不会执行“添加到购物车”操作 迷路的但是,删除的项目可能会重新出现 但我也怀疑,鉴于DDB遵守的法规清单,这并不重要 即使DDB确实“擦除”了磁盘的扇区,其中给定的记录存储在dele

Amazon dynamodb 我如何创建一个警报来检测DynamoDb限制已达到一定的百分比,然后再增加它

我正在编写一个web应用程序,它每天的流量都在稳步增长。我想创建一个警报,可以检测我的读/写限制是否达到某个百分比(如80%),然后增加该限制。然后,我将在午夜再次降低它 我试过创建一个警报——“平均值”似乎有点没用,总是1.0。“Sum”更有用,所以我想我应该使用它。我还假设应该在度量名称处使用消耗的写/读容量 问题: Sum似乎使用“Count”的绝对值作为其限制。如果我的DynamoDB设置为100次写入,并且我设置了80%的报警,它会检查我的写入是否超过0.8,而不是80% 我已经设置

Amazon dynamodb 如何在dynamoDB上运行DeleteItemRequest?

当我在dynamoDB表上运行DeleteItemRequest时,我得到一个异常,它说“提供的键大小与模式的键大小不匹配”。 我所做的就是 DeleteItemRequest deleteRequest=newDeleteItemRequest().withTableName(dynamoDbTableName)。withKey(key) client.deleteItem(deleteRequest) 我需要指定更多的内容吗?我缺少什么吗?这可能意味着传递给方法的键与表中主键的类型不匹配。例

Amazon dynamodb 如何判断本地dynamodb是否启动?

我想编写一个脚本,检查本地dynamodb实例是否正在运行,如果正在运行,则什么也不做。如果不是,请从以下内容开始: java -Djava.library.path=. -jar DynamoDBLocal.jar 在node.js中工作的解决方案是最好的。我正在为节点使用AWS SDK DynamoDB是NoSQL数据库。它不是需要服务器启动/停止的数据库服务器。您可以检查数据库中的表或特定表的状态。e、 g。创建/更新/删除/激活。只有当表状态为“活动”时,才可以使用表。自从开始侦听本地

Amazon dynamodb 从Spark程序连接DynamoDB以使用Python从一个表加载所有项?

我已经编写了一个程序,将项目写入DynamoDB表。现在我想使用PySpark阅读DynamoDB表中的所有项目。Spark中是否有任何库可用于执行此操作?您可以使用available作为through的一部分,并使用类似为PySpark编写的并行S3文件处理应用程序的方案。基本上,不必事先读取所有键,只需创建一个段号列表,并在Spark的map_func函数中硬编码扫描的最大段数。另一个选项是将DynamoDB行导出到S3。您可以在S3上使用触发器启动Lambda,甚至手动处理生成的文件。对我

Amazon dynamodb 集成测试使用不一致读取的DynamoDB客户端?

情况: 一个web服务,带有从DynamoDB读取记录的API。它使用最终一致的读取(GetItemdefault模式) 集成测试包括两个步骤: 在DynamoDB中创建测试数据 调用服务以验证它是否返回预期结果 我担心,由于数据的最终一致性,这个测试注定是脆弱的 如果我尝试在写入数据后立即使用GetItem和consistenread=true验证数据,则只能保证数据已写入大多数数据库副本,而不是全部,因此测试中的服务仍有机会在下一步从未更新的副本读取 是否有办法确保数据在继续操作之前已写

Amazon dynamodb 亚马逊红移时间序列

为了简单起见,让我们假设我有一个如下数组arr[time]=[price,asset](同一资产的价格可能每秒重复12次) 我希望能够以不同的比例查看数据,例如5年,每1小时1个样本,2.5年,每0.5小时1个样本,以及能够访问点之间的特定刻度 在DynamoDB中使用多个表还是在Redshift中使用单个数据库更经济/方便?我应该使用哪些架构/表进行红移 编辑:我的实体看起来像{'time':1505128343,'price':3.141708,'asset':1}在时间段(如其中时间>=1

Amazon dynamodb 逻辑节点负责连续的密钥范围还是随机的密钥集

我在读它,它解释了从散列函数获得的键如何创建(循环)范围。然后,逻辑节点负责该范围内的连续段 Dynamo的分区方案依赖于对 跨多个存储主机分配负载。一致 散列[10],散列函数的输出范围被视为 固定圆形空间或“环”(即最大散列值) 大约为最小哈希值)。系统中的每个节点都是 在此空间内指定了一个表示其 环上的“位置”。每个由键标识的数据项都被分配 通过散列数据项的键以产生其在 环,然后顺时针走环以找到第一个节点 大于项目位置的位置 但是,在均匀载荷分布下,详细介绍了一些策略: 策略1:每个节点T

Amazon dynamodb DynamoDB中的数据一致性

我想将DynamoDB用于一个大规模的服务,它将在一秒钟内被许多用户访问。我想知道从DynamoDb读取的数据有多正确,它提供了“最终一致”的读取 这个链接说 “数据所有副本的一致性通常在一秒钟内达到”。我还没有尝试过为这种高度访问的数据库测试sqldbs,但DynamoDB提供的服务似乎并不比这更好 强一致性读取的成本很高,可能需要更多的时间,因此我更喜欢正常读取。如有必要,我必须检查读数是否一致 我有点害怕“最终”这个词。有没有人见过这样一种场景:DynamoDB正在成功使用,或者相反,即发

Amazon dynamodb Amazon DynamoDB条件写入和原子计数器

我目前使用的应用程序要求我在20到30分钟内多次增加DynamoDB中某个项目的属性。我一直在做一些关于DynamoDBs的补充阅读 dynamo中的原子计数器似乎是我需要的一个合乎逻辑的选择,但我确实担心数据的一致性,特别是在像dynamo这样的分布式数据库中,并且会影响数据的准确性。我希望API在高峰期会受到重创,但我希望避免与条件更新相关的性能问题。我想我想知道使用DynamoDB的原子计数器有多可靠,以及如何使用dynamo正确地实现它们。也欢迎提出其他建议 是的,这些是您想要使用的功能

Amazon dynamodb DynamoDB数据模型二级索引搜索

各位, 鉴于我们必须存储以下购物车数据: userID1 ['itemID1','itemID2','itemID3'] userID2 ['itemID3','itemID2','itemID7'] userID3 ['itemID3','itemID2','itemID1'] 我们需要运行以下查询: 给我一个特定用户的所有项目(这是一个列表)(简单) 给我所有拥有itemID3的用户(正是我的问题) 您将如何在DynamoDB中对此

Amazon dynamodb DynamoDB中的限制偏移、排序和聚合挑战

我使用DynamoDB将我的设备事件(JSON格式)存储到表中以供进一步分析,并使用扫描API在UI上显示结果集,这需要 定义记录的限制偏移量,例如每页10条记录,意味着 结果集应分页(例如,第1页有0-10条记录,第2页有0-10条记录 有11-20条记录等等),我得到了一个像scanRequest这样的API。有limit(10)但它有不同的限制偏移的含义,DynamoDB API是否支持限制偏移 我还需要根据用户输入字段对结果集进行排序,如日期排序、序列号排序等,但仍然没有通过API获得

Amazon dynamodb 使用ConditionExpression在ID不';不存在于其他表中

简单的事情。在将数据插入表A时,我有一个HashKey id和列ex\u id的附加hash索引,这是表B中的外键 在表a中插入新数据时,每当插入数据时,如果列ex_id中的值在表B中没有相应的条目,我想创建一个异常 我认为ConditionExpression是一种方法,但无法使其工作-可能遗漏了一些明显的东西。试图使用contains() 有什么想法吗?据我所知,这在DynamoDB端是不可能的,因为表之间没有关系 您可以做的是,您可以在应用程序级别设置一个条件,该条件在表a中插入值之前自行

Amazon dynamodb 如何原子地更新DynamoDB文档(JSON)?

我的表中有一个Document(JSON)类型的属性,其中的值是计数: { "item1" : "5", "item2" : "7" } DynamoDB文档API是否有一种方法可以原子地增加映射的值?我的应用程序将有多个主机递增这些值,因此简单地使用put将不起作用,因为它们将相互覆盖 我知道对于整数属性,我们可以在更新表达式中使用set#count=#count+:countVal进行原子计数。处理文档是否有类似的功能 另外,我注意到,DynamoDBMapper无法进行原子计数器更新,因

Amazon dynamodb DynamoDB:使用过滤表达式与使用选定数据创建单独的表相比,提高了效率

我正在编写一个API,它有一个带有布尔状态字段的数据模型 90%的API调用将需要过滤该状态=“活动” 背景: 目前,我将其作为DyanmoDB布尔字段,并在其上使用过滤表达式,但我反对创建一个带有相关标识符的单独表,该标识符充当查询的哈希键,并保存对应于“活动”状态的相应项信息,因为只有一个项具有“活动”状态“特定哈希键在项中的状态 现在我的问题是: 数据完整性在这里是一个大问题,因为我将更新两个 表取决于请求 在使用Dynamo DB时,使用单独的表是一种良好的做法吗 案例或我使用了错误的

Amazon dynamodb 我应该在发送之前检查DynamoDB映射更新路径吗

我将数据作为映射属性类型存储在DynamoDB中,并实现一个restful补丁端点来修改该数据(rfc6902) 在我的验证例程中,在将补丁转换为更新表达式并将其发送到DynamoDB之前,我目前无法确保映射存在 这意味着,如果尚未在DynamoDB中设置映射,则更新将失败(ValidationException,因为文档路径不存在) 我的问题:依赖DynamoDB以这种方式拒绝更新是合适的/可以接受的/可以的,还是应该在我自己的验证例程中获得项目的副本并拒绝补丁 我一直想不出一个理由不让Dyn

Amazon dynamodb 如何在Java中查询DynamoDB上的二级索引

我正在编写一个应用程序,人们可以使用它来请求有关特定事件的信息。因为多个用户可以请求关于同一事件的信息,所以我的请求表的键是username+event(其中这两个都是字符串) 但是,在提供这些信息的Java代码中,我不想下载我不需要的数据,因此,理想情况下,我会查询事件(因为我不知道进行查询的所有人的用户名) 我认为,如果我给请求表一个二级索引,称为“event”,用户也填写了这个索引(因此散列键(称为“key”)是username+event,而event字段只是事件字符串),我就能够查询二

Amazon dynamodb 将发电机B连接到火花?

有没有办法将pyspark(使用python的SparksAPI)连接到dynamodb。对于mongodb和cassandra,有与pyspark接口的连接器。如果dynamo可以充当Hadoop的输入/输出,这似乎是可能的 任何线索都将不胜感激 你看过波托吗?看过。Boto连接到dynamo,但不与pyspark接口。你说的“不接口”是什么意思。。。你试过什么?您应该能够在中运行任何Python代码Spark@maxymooOP的意思是不能将boto对象传递给Spark,操作只能从导入的库

Amazon dynamodb 跨多个Alexa技能跟踪用户ID

如果我创建了多个Alexa技能,是否有一个在所有技能中都保持不变的用户ID?具体来说,如果用户在技能1中做了一个动作,我想知道技能2和技能3的动作。。。基本上允许技能共享同一个DynamoDB表 理想情况下,我不要求用户进行任何形式的登录,但根据与他们的亚马逊帐户相关的唯一标识符,它会知道这是同一个用户。否。大约一年前,亚马逊进行了特定的更改,以阻止您这样做。您也无法识别卸载您的技能然后重新安装的用户。您总是会得到一个新的随机用户id 手机开发也发生了同样的事情:谷歌和苹果正在阻止任何可以让你识

Amazon dynamodb 如何在DynamoDB中更新列表中的项目?

如何使用AWS SDK for C更新项目 假设当ItemName等于eqq时,我想将所选值更新为TRUE 我写了这段代码但没有成功: request = { ExpressionAttributeNames = new Dictionary<string, string>() { {"#I", "Items"}, {"#lN", item.ItemName} }, ExpressionAttributeValues =

Amazon dynamodb 如何通过MS Edge浏览器的DynamoDB访问修复CRC32错误

使用AWS SDK 2.7.13。代码在Chrome、IE和Firefox版本上运行良好。在Edge 15上,我发现CRC32完整性检查失败 有人遇到类似问题,知道原因和解决方法吗 从中可以看出,我可以用下面的代码关闭CRC错误检查,但我想找出原因并进行修复 AWS.config(:dynamo_db_crc32 => false) 我们认为这是由于在gzip之前或之后计算CRC32的方式所致,请参见: 我使用的修复程序包括用于浏览器检测的bowser <script src=

Amazon dynamodb 更新时使用的DynamoDB写入容量

我想知道在更新具有ListAttribute的现有项时,DynamoDB的写容量是如何计算的 模型的一般概念如下所示: Model A id = UUID name = Str ...other fields Model A Map Attribute Model B id = UUID modelA_list = ListAttr[Model A Map Attribute] 据我所知,唯一相关的计算信息是关于新写入的信息,其中容量是通过四舍五入到下一KB来计算的。例如,如果我在所有字段

Amazon dynamodb 当GetItem结果为null时,Dynamodb的AWS DAX是否会缓存null结果?

我对AmazonDAX的空结果缓存行为有一个疑问。如果我尝试使用Dynamodb从DAX中GetItem,而item结果为null。DAX是否会缓存空结果以加速获取空项?是。如果在DynamoDB中找不到项,DAX将缓存空标记。是,DAX将缓存负结果: DAX在项目缓存和 查询缓存。DAX找不到时,会出现负缓存项 底层DynamoDB表中的请求项。而不是生成 如果出现错误,DAX缓存空结果并将该结果返回给 用户 负缓存项将保留在DAX项缓存中,直到其 项目TTL已过期,LRU被调用,或直到项目被

Amazon dynamodb DynamoDB更新项目条件

我对DynamoDB还很陌生,我找不到一个简单场景的答案 假设我正在使用DynamoDB聚合用户购买量。因此,我存储每个用户每天花费的钱和上次购买时间。问题是我收到的购买信息不能保证在购买时间内订购。因此,我希望始终将newOrderPrice添加到MoneyExplored中,并且仅当它大于当前的lastPurchaseTime时才更新lastPurchaseTime 我就是这样。寻找是这样的: table.update_item( Key={ 'user_id': u

Amazon dynamodb 您能使用Boto3控制对DynamoDB的写入速度吗?

我需要向启用自动缩放功能的DynamoDB写信,我的目标是: 根据不断变化的容量(通过自动缩放)最佳利用调配的容量,而无需或仅需少量“限制写入” 我们目前正在使用batch_writer(),问题是没有像BatchWriteItem那样的响应,因此您可以根据响应调整容量。但是BatchWriteItem有它自己的问题——每个请求有25个项目的限制,即使我有很多线程,它可能不够快,不能满足我的需要,我最多需要10000个WCU/秒 你有什么建议?我现在也有类似的问题。你找到解决办法了吗?对不起

Amazon dynamodb DynamoDB-删除项目

删除表中多行的最佳方法是什么 从我看来,要进行删除,我需要传递主键。 这意味着我需要一个一个地删除项目 是否可以通过单个请求处理多个项目的删除?(我不是指批量请求。) 你是如何处理被遗忘的GDPR权利的 为什么使用DynamoDB的批删除不能满足您的需要?我没有编写批删除也不能。我只是在寻找是否还有别的办法。例如,我可以通过一次调用删除数千个或多个项目(而不是批量限制的25个)。If是调用一个函数1000次或调用另一个函数的重大更改。

Amazon dynamodb 在DynamoDB中获取单个查询中的父项和子项

我有以下一对多关系: Account 1--* User 科目包含全局科目级别信息,该信息是可变的 用户包含用户级别的信息,这些信息也是可变的 当用户登录时,他们需要帐户和用户信息。(此时我只知道UserId) 理想情况下,我希望设计模式,以便只需要一个查询。但是,如果不将帐户复制到每个用户中,并因此需要一些后台Lambda作业来将更改传播到所有用户对象中的帐户属性,我无法确定如何执行此操作——就记录而言,这似乎需要更多的资源使用(以及要维护的代码)而不是简单地规范化数据并在每个登录上有两个查

Amazon dynamodb Dynamodb表示提供的关键元素与方案不匹配

我在dynamo db中创建了一个名为“音乐”的表格,其中包含Taylor Swift项目。我想通过命令行获取此项,但它反复出现此错误 ~%aws dynamodb get项--表名Music--键“{”Artist:{”S:“Taylor Swift”}” 调用GetItem操作时发生错误(ValidationException):提供的键元素与架构不匹配 我三次检查属性类型是否正确。还有什么问题吗?对于主键,必须提供所有属性。例如,使用一个简单的 主键,您只需要为分区键提供一个值。对于复合材

Amazon dynamodb 如何使用使用封送器的RangeKey查询DynamoDB GSI

我有一个表,因为我有一个二级索引。我的二级索引使用DynamoDB编组 如何查询此GSI上的表?addRangeKeyCondition仅支持withS和withN方法。如何使用我的对象查询它? 如果范围键是字符串,我就是这样查询的: DynamoDBQueryExpression<RequestPerOfferItem> queryExpr = new DynamoDBQueryExpression<>(); queryExpr.withHashKeyValues(it

Amazon dynamodb AmazonDynamodB:希望打印出所有表的列表,并打印出与表关联的主键

我正在尝试亚马逊关于dynamoDB的教程: 在我处理这件事的过程中,我不知道如何做一些简单的事情,比如: 打印我创建的表的名称,或者找出特定表t中的主键 我假设可能有一种非常简单的方法可以做到这一点,我只是没有看到它。DynamoDBLocal本质上是一个在您自己的计算机上运行的DynamoDB实例,它有自己的端点。与之交互的方式与实际的DynamoDB服务相同 最简单的方法是选择一个API并使用本地端点发出请求。有关如何设置端点的一些基本示例 在您的情况下,听起来您希望使用一些不同的API操

Amazon dynamodb DynamoDB-返回哪个条件表达式为false

我使用一个条件表达式调用PutItem,该表达式如下所示: 属性_存在(id)且对象_版本=:x 换句话说,我只想在以下条件为真时更新项目: 对象需要存在 我的更新必须是对象的最新版本 现在,如果检查失败,我不知道哪个条件是错误的。有没有办法获得关于哪些条件是错误的信息?可能不会,但谁知道呢…DynamoDB中的条件表达式允许对DynamoDB对象执行原子写入操作,这对于单个对象来说是非常一致的,即使在分布式系统中也要感谢paxos 一种标准方法是首先简单地读取对象,然后在客户机应用程序代码中执

Amazon dynamodb 如何使用dynamodb连接两个主键表

我是迪纳摩的新手。我有两张桌子: 国家 城市 我希望通过country\u id主键和外键连接这两个表。那么我可以在DynamoDB中这样做吗?Amazon DynamoDB是一个NoSQL数据库。这意味着连接和外键等传统关系数据库概念不可用 您的应用程序将负责“连接”表。也就是说,您需要从两个表中读取值,并在应用程序中确定它们之间的关系。DynamoDB无法为您执行此操作 或者,您可以使用一个系统,比如提供Hadoop的AmazonEMR。您可以使用Hadoop和Hive通过使用HiveQ

Amazon dynamodb 如何只允许在现有的dynamoDB资源上使用UpdateItem?

是否可以向DynamoDBUpdateItem传递一个选项,以便对不存在的项调用UpdateItem失败 当前UpdateItem如果分区键不存在,则愉快地创建一个新项。我希望在这种特殊情况下出现错误 当然,我可以在updateItem之前执行get,并且只在存在时执行updateItem,但这样做的性能更低/更麻烦 您可以使用条件表达式执行条件更新 条件更新API非常强大,但在您的情况下,您需要构建一个条件表达式,该表达式使用项的分区键(如果表使用分区键,则使用范围键)上的条件表达式来检查要更

Amazon dynamodb 在DyanmoDb batchWriteItem中设置限制

有没有办法在dynamoDb中为batchWriteItem设置阈值限制: 如果TableWriteItems已达到25个项目的限制,请插入数据(这可以通过检查TableWriteItems的大小来完成,但如果我们在很长一段时间内从未从后端收到25个项目,该怎么办) 我在这里看到的是:->如果TableWriteItems已达到以下三个条件之一:timeLimit、itemSizeLimit或dataSizeLimit,请在dynamoDb中插入一批 TableWriteItems testTa

Amazon dynamodb 检索不同计数DynamoDB

我有一个DynamoDB表来存储会话中的活动 我试图从表中查找不同的会话,但在AWS文档中没有找到任何关于如何检索不同会话ID的内容 DynamoDB没有明显的特征。您需要设计表,以便查询返回所有不同的会话ID,然后自己计算它们 这是DynamoDB查询中可用的比较和函数列表:感谢您的快速响应。是否有任何官方文件表明DynamoDB没有明显的功能?是的,上面的链接列出了DynamoDB中所有有效的查询操作和函数。如果您来自SQL背景,您将感到失望

Amazon dynamodb Amazon DynamoDB中的多属性查询

我正在将我的数据库从sql数据库移动到Dynamodb。我目前有一个包含以下值的表: 租户ID(分区密钥) 资源ID(RangeKey) 类型 角色 名字 我现在有以下疑问: 获取属于类型为t、角色为r且名称包含n的租户ten的所有资源。其中,类型角色名称可能为空值,因此在这种情况下,这些值不用作筛选器 使用过滤器可以在dynamodb中进行此查询,但是阅读下面的文章我意识到这可能是一个昂贵的查询,因为dynamodb正在检索这些数据,然后在服务器端进行过滤。该页面建议创建具有以下值的G

Amazon dynamodb 从flink群集外部访问flink状态的方法有哪些?

我刚刚接触ApacheFlink,正在构建一个简单的应用程序,在这个应用程序中,我从一个动觉流中读取事件,比如 TestEvent{ String id, DateTime created_at, Long amount } 对上面由id键入的流上的字段金额执行聚合求和。该转换相当于SQL select sumamount from testevents group by id,其中testevents是迄今为止接收到的所有事件。 聚合结果存储在flink状态,我希望通过API公开结果

Amazon dynamodb 生成未复制的数据并保存在DynamoDB中

我正在使用AWS DynamoDB,并使用Math.random()生成一个6位数字,用于保存到DB 这个数字应该是唯一的,这意味着我必须先扫描DB中的所有数据,然后才能放入 这是我的代码,用于为循环生成唯一的6位数字 异步函数getUniqueKey(){ 让key=''; const arr=新数组(100).fill(0).map((el,index)=>index+1); 用于(arr的常数i){ key=(Math.floor(Math.random()*1000000)+1.toSt

上一页   1   2   3   4    5   6  ... 下一页 最后一页 共 36 页