欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

dynamodb java_使用Java将项目插入DynamoDB表

发布时间:2023/12/3 java 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 dynamodb java_使用Java将项目插入DynamoDB表 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

dynamodb java

在上一篇文章中,我们学习了如何使用Java创建DynamoDB表。 下一步是将项目插入到先前创建的DynamoDB表中。

请记住,对于插入操作,最基本的步骤是指定主键。 对于表用户,主键是属性电子邮件。 您可以根据需要添加任意数量的属性,但是累积大小不应超过400 KB。

Map<String,AttributeValue> attributeValues = new HashMap<>();attributeValues.put("email",new AttributeValue().withS("jon@doe.com"));attributeValues.put("fullname",new AttributeValue().withS("Jon Doe"));PutItemRequest putItemRequest = new PutItemRequest().withTableName("Users").withItem(attributeValues);PutItemResult putItemResult = amazonDynamoDB.putItem(putItemRequest);

DynamoDB还支持批量写入。 在这种情况下,主要好处在于更少的I / O,但是有关消耗的容量没有任何变化。 在我们的情况下,我们将添加一批登录尝试。

Map<String,AttributeValue> firstAttributeValues = new HashMap<>();firstAttributeValues.put("email",new AttributeValue().withS("jon@doe.com"));Long date = new Date().getTime();firstAttributeValues.put("timestamp",new AttributeValue().withN(Long.toString(date)));PutRequest firstPutRequest = new PutRequest();firstPutRequest.setItem(firstAttributeValues);WriteRequest firstWriteRequest = new WriteRequest();firstWriteRequest.setPutRequest(firstPutRequest);Map<String,AttributeValue> secondAttributeValues = new HashMap<>();secondAttributeValues.put("email",new AttributeValue().withS("jon@doe.com"));secondAttributeValues.put("timestamp",new AttributeValue().withN(Long.toString(date+100)));PutRequest secondPutRequest = new PutRequest();secondPutRequest.setItem(secondAttributeValues);WriteRequest secondWriteRequest = new WriteRequest();secondWriteRequest.setPutRequest(secondPutRequest);List<WriteRequest> batchList = new ArrayList<WriteRequest>();batchList.add(firstWriteRequest);batchList.add(secondWriteRequest);Map<String, List<WriteRequest>> batchTableRequests = new HashMap<String, List<WriteRequest>>();batchTableRequests.put("Logins",batchList);BatchWriteItemRequest batchWriteItemRequest = new BatchWriteItemRequest();batchWriteItemRequest.setRequestItems(batchTableRequests);amazonDynamoDB.batchWriteItem(batchWriteItemRequest);

如果使用全局/本地二级索引进行插入,您要做的就是为索引指定相应的属性。 考虑到您可以具有与索引相关的空属性,甚至可以重复。

Map<String,AttributeValue> attributeValues = new HashMap<>();attributeValues.put("name",new AttributeValue().withS("Random SuperVisor"));attributeValues.put("company",new AttributeValue().withS("Random Company"));attributeValues.put("factory",new AttributeValue().withS("Jon Doe"));PutItemRequest putItemRequest = new PutItemRequest().withTableName("Supervisors").withItem(attributeValues);PutItemResult putItemResult = amazonDynamoDB.putItem(putItemRequest);

您可以在github上找到源代码。

翻译自: https://www.javacodegeeks.com/2016/06/insert-items-dynamodb-tables-using-java.html

dynamodb java

总结

以上是生活随笔为你收集整理的dynamodb java_使用Java将项目插入DynamoDB表的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。