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表相关推荐
- 使用Java将项目插入DynamoDB表
在上一篇文章中,我们学习了如何使用Java创建DynamoDB表. 下一步是将项目插入到先前创建的DynamoDB表中. 请记住,对于插入操作,最基本的步骤是指定主键. 对于表用户,主键是属性电子邮件 ...
- dynamodb java_使用Java更新DynamoDB项
dynamodb java 在上一篇文章中,我们继续使用Java将项目插入DynamoDB. DynamoDB还支持更新项目. 我们将使用Login表获取更新示例. 发布更新时,必须指定要更新的项目的 ...
- dynamodb java_使用Java扫描DynamoDB项目
dynamodb java 在之前的文章中,我们介绍了如何查询DynamoDB数据库 查询DynamoDB第1部分 查询DynamoDB第2部分 . 除了发出查询之外,DynamoDB还提供扫描功能. ...
- dynamodb容器使用_使用DynamoDBMapper插入DynamoDB项目
dynamodb容器使用 在上一篇文章中,我们使用DynamoDBMapper来将DynamoDB表映射到Java对象. 插入时,我们的动作几乎相同,但是方式更方便. 为了插入项目,您要做的就是使用对 ...
- dynamodb java_使用Java查询DynamoDB项
dynamodb java 在上一篇文章中,我们继续在DynamoDB数据库上插入数据. 在本教程中,我们将对DynamoDB表发出一些基本查询. 主要规则是每个查询都必须使用哈希键. 查询的最简单形 ...
- dynamodb java_使用Java第2部分查询DynamoDB项
dynamodb java 在上一篇文章中,我们有机会发布了一些基本的DynamoDB查询操作. 但是,除了基本操作之外,DynamoDB api还为我们提供了一些额外的功能. 投影是具有类似选择功能 ...
- heroku java_部署Java Web项目到Heroku
1.在Heroku上创建一个新的App 2. 创建成功后添加对MYSQL的支持,点击find more add-ons 3. 这里我选择的是 JawsDB Mysql 4.添加成功后我们可以查看数据库 ...
- 怎么向java窗口中插入XSL表_Java向word中插入Excel文件对象
前言: 在word文件中,虽然也有表格.但是有时我们想要将Excel中表格的大量数据直接插入到word文档中,这就需要用到word的插入对象的功能,也就是直接将Excel文件当做对象插入到word中. ...
- 移卡科技java_聊一聊Java垃圾回收与卡表技术
专注于系统架构.高可用.高性能.高并发类技术分享 在读博士的时候,我曾经写过一个统计 Java 对象生命周期的动态分析,并且用它来跑了一些基准测试. 其中一些程序的结果,恰好验证了许多研究人员的假设, ...
最新文章
- 照葫芦画瓢-comments(注释)
- boost::graph::dimacs_basic_reader用法的测试程序
- python3安装常见问题_python3中pip的安装、常见问题及万能解决方案。
- IDEA导入个性化主题的方法
- 专题:CentOS社区企业操作系统
- JQuery学习笔记 [Ajax] (6-1)
- Ajax提交json数据,通过jquery.cookie.js插件解决csrf_token问题
- SPI(Service Provider Interface)机制
- snap chrominu has install-snap change in progress
- 论文阅读 || 语义分割系列 —— deeplabv1 详解
- Vulkan入门(一)-环境配置.md
- winsock2.h与ws2def.h等文件大量报错相关问题解决方法
- 施努卡:什么是视觉定位系统 视觉系统如何定位
- python的 e是什么意思_python中的e是什么意思
- Excel打造翻译神器(自定义函数)
- 新旧Macbook下微信聊天记录的转移方法
- 各种矩阵(向量)求导
- python输出水仙花数_python打印水仙花数(基础版)
- R语言可视化:森林图绘制
- 原码、反码、补码(Integer.MIN_VALUE、Integer.MAX_VALUE)