问题标签 [aws-java-sdk-dynamodb]
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.
amazon-dynamodb - 调用 DynamoDBMapper 的负载时出现 SocketTimeoutException
调用 DynamoDBMapper 的加载时有时会出现此错误:
我有 2 次 PUT /latest/api/token 超时,然后我得到响应。我不确定到底出了什么问题或为什么有时会出现这种行为,但这会导致我的应用程序出现延迟。
我需要修改设置中的某些内容吗?它与 DynamoMapper 有关吗?我应该使用低级 Dynamo API 吗?
spring-boot - CRUD 存储库 bean 未找到异常
我有一个连接到 AWS DynamoDB 的应用程序。我正在尝试在此应用程序中使用 Jedis 实现 Redis 连接。
但是,就在我添加此依赖项之后-
我得到这个错误 -
UserInfoRepository 实现 CrudRepository。
我不确定我错过了什么。简而言之,向此代码添加 spring-boot-starter-data-redis 依赖项会出现此错误。没有这种依赖关系,代码可以正常工作。
下面是我的其余代码。
主应用程序.java
DynamoDBConfig.java
用户信息存储库.java
GreetingController.java
用户信息.java
DBService.java
pom.xml
PS - 将 @ComponentScan("org.csulb.md.repo") 添加到主类可以解决此错误,但它无法识别其他组件,因此控制器无法工作。我尝试添加 @ComponentScan("org.csulb.md) 以及给出与描述相同的错误。我尝试在 UserInfoRepository 上添加 @Repository/@Component 并发现没有运气。
amazon-web-services - 不使用分区键查询 DynamoDB 表的全局二级索引
我有一个带有分区键的 DynamoDB 表,userID
没有排序键。该表timestamp
在每个项目中也有一个属性。我想检索在指定范围内具有时间戳的所有项目(无论userID
ie 跨越所有分区)。在阅读文档并搜索 Stack Overflow(此处)后,我发现我需要为我的表创建一个 GSI。因此,我使用以下键创建了一个 GSI:
- 分区键:
userID
- 排序键:
timestamp
我正在使用以下代码使用 Java SDK 查询索引:
执行此代码时出现以下错误:
据我所知,我应该能够仅使用排序键来查询 GSI,而无需对分区键提供任何条件。请帮助我了解我的实施有什么问题。谢谢。
编辑:阅读此处的线程后,事实证明我们无法查询只有排序键范围的 GSI。那么,如果有的话,通过对属性的范围查询来查询整个表的替代方法是什么?我在该线程中发现的一个建议是使用 year 作为分区键。如果所需的范围跨越多年,这将需要多次查询。此外,这不会将数据均匀地分布在所有分区中,因为只有与当前年份对应的分区将用于插入一整年。请提出任何替代方案。
java - 使用 Java SDK 2 查询超过 100 个与分区键匹配的 DynamoDB 项目?
如何使用 aws java sdk 2 查询 dynamodb 表中匹配特定分区键的 100 多个项目?
如果匹配哈希键的行数超过 100,则需要使用 batchGetItemPaginator 方法。此方法接受BatchGetItemRequest
需要 a 的 a KeysAndAttributes
。
当我仅使用哈希键而不是排序键构造 KeysAndAttributes 时,出现以下异常
DynamoDbException:提供的关键元素与架构不匹配
但是,如果我在 KeysAndAttributes 中提供排序键,则 batchGetItemPaginator 方法可以正常工作。
那么如何仅使用主键(无排序键)构造 BatchGetItemRequest 呢?
注意:我的问题不是这个问题的重复。如果行数超过 100,则其他问题不涉及所需的分页。
预先感谢您的考虑和回复。
amazon-web-services - DynamoDBMapper 和 Table for DynamoDB 表有什么区别
在 AWS DynamoDB 中,有两个选项可用于对表执行 CRUD 操作。
DynamoDBMapper:。
com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
_
表: com.amazonaws.services.dynamodbv2.document.Table;
。
两者似乎都执行相同的操作。
DynamoDBMapper是Table之上的一层吗?如果是这样,使用它们有什么区别?
asp.net - Upload Files To S3 from Browser and Secure AWS Creds
i am developing a small application in ASP.net MVC ,in which i am uploading file to s3 directly from browser ,below is my code , but the problem is since it is in JavaScript my Access key and Secret key is expose , is there any way i can hide it or is there any other way of uploading file to s3 without exposing Access key and Secret key and i have to upload the file from browser only.
amazon-web-services - DDB Raw AttributeValue 映射到 Object 之间的映射
我正在尝试将 DynamoDb 的原始数据Map<String, AttributeValue>
转换为使用适当的 DynamoDbMapper 注释 ( @DynamoDBHashKey
, @DynamoDBRangeKey
) 注释的 Object 类。我知道DynamoDbMapper
支持marshallIntoObject
方法,但我试图在不构建 AmazonDynamoDb 客户端和整个 Mapper 的情况下实现这一点,它提供对其他方法的访问,例如save
等delete
。
我看不出为什么我们需要 DynamoDb 客户端来实现从Map<String, AttributeValue>
对象类的简单转换。
想知道是否有一个隐藏的库或转换器可以在不构建整个 DynamoDbMapper 的情况下使用。
spring-boot - 使用 DynamoDBEnhancedAsyncClient 扫描和获取 futureObject
我正在尝试使用 v2 库以非阻塞方式持久化和检索数据。DynamoDBEnhancedAsyncClient的 Put 方法返回 CompletableFuture 对象,但扫描和查询方法返回 PagePublisher 对象——这往往告诉我这是一个阻塞调用。有人可以帮我理解/解决这个问题。我想实现端到端的非阻塞调用。我尝试使用DynamoAsyncClient并且效果很好,但我想摆脱使用DynamoDBEnhancedAsyncClient * 手动映射对象,但我没有看到返回 CompletableFutures 的方法。
这是我的代码块
我使用的依赖项
java-8 - 无法转换地图(DynamoDB) 到 POJO,如果使用注释 @Builder
我正在尝试将 Map<String, AttributeValue> 转换为 POJO。我这样做:
@Data - 来自 Lombok 的注释。它工作正常。
但是如果我添加注释@Builder,我会得到异常
我该如何解决这个问题?谢谢你。
spring-webflux - 使用 DynamoDb 将 CompletableFuture 包装到 Mono
我知道 java DynamoDB 的 SDK 被认为是异步非阻塞的,但我的问题是:
问:发电机更新是否仍然需要在另一个线程上使用 operator publishOn才能在反应性上下文中更安全?
Mono.fromFuture(table.update()).publishOn();