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表相关推荐

  1. 使用Java将项目插入DynamoDB表

    在上一篇文章中,我们学习了如何使用Java创建DynamoDB表. 下一步是将项目插入到先前创建的DynamoDB表中. 请记住,对于插入操作,最基本的步骤是指定主键. 对于表用户,主键是属性电子邮件 ...

  2. dynamodb java_使用Java更新DynamoDB项

    dynamodb java 在上一篇文章中,我们继续使用Java将项目插入DynamoDB. DynamoDB还支持更新项目. 我们将使用Login表获取更新示例. 发布更新时,必须指定要更新的项目的 ...

  3. dynamodb java_使用Java扫描DynamoDB项目

    dynamodb java 在之前的文章中,我们介绍了如何查询DynamoDB数据库 查询DynamoDB第1部分 查询DynamoDB第2部分 . 除了发出查询之外,DynamoDB还提供扫描功能. ...

  4. dynamodb容器使用_使用DynamoDBMapper插入DynamoDB项目

    dynamodb容器使用 在上一篇文章中,我们使用DynamoDBMapper来将DynamoDB表映射到Java对象. 插入时,我们的动作几乎相同,但是方式更方便. 为了插入项目,您要做的就是使用对 ...

  5. dynamodb java_使用Java查询DynamoDB项

    dynamodb java 在上一篇文章中,我们继续在DynamoDB数据库上插入数据. 在本教程中,我们将对DynamoDB表发出一些基本查询. 主要规则是每个查询都必须使用哈希键. 查询的最简单形 ...

  6. dynamodb java_使用Java第2部分查询DynamoDB项

    dynamodb java 在上一篇文章中,我们有机会发布了一些基本的DynamoDB查询操作. 但是,除了基本操作之外,DynamoDB api还为我们提供了一些额外的功能. 投影是具有类似选择功能 ...

  7. heroku java_部署Java Web项目到Heroku

    1.在Heroku上创建一个新的App 2. 创建成功后添加对MYSQL的支持,点击find more add-ons 3. 这里我选择的是 JawsDB Mysql 4.添加成功后我们可以查看数据库 ...

  8. 怎么向java窗口中插入XSL表_Java向word中插入Excel文件对象

    前言: 在word文件中,虽然也有表格.但是有时我们想要将Excel中表格的大量数据直接插入到word文档中,这就需要用到word的插入对象的功能,也就是直接将Excel文件当做对象插入到word中. ...

  9. 移卡科技java_聊一聊Java垃圾回收与卡表技术

    专注于系统架构.高可用.高性能.高并发类技术分享 在读博士的时候,我曾经写过一个统计 Java 对象生命周期的动态分析,并且用它来跑了一些基准测试. 其中一些程序的结果,恰好验证了许多研究人员的假设, ...

最新文章

  1. 照葫芦画瓢-comments(注释)
  2. boost::graph::dimacs_basic_reader用法的测试程序
  3. python3安装常见问题_python3中pip的安装、常见问题及万能解决方案。
  4. IDEA导入个性化主题的方法
  5. 专题:CentOS社区企业操作系统
  6. JQuery学习笔记 [Ajax] (6-1)
  7. Ajax提交json数据,通过jquery.cookie.js插件解决csrf_token问题
  8. SPI(Service Provider Interface)机制
  9. snap chrominu has install-snap change in progress
  10. 论文阅读 || 语义分割系列 —— deeplabv1 详解
  11. Vulkan入门(一)-环境配置.md
  12. winsock2.h与ws2def.h等文件大量报错相关问题解决方法
  13. 施努卡:什么是视觉定位系统 视觉系统如何定位
  14. python的 e是什么意思_python中的e是什么意思
  15. Excel打造翻译神器(自定义函数)
  16. 新旧Macbook下微信聊天记录的转移方法
  17. 各种矩阵(向量)求导
  18. python输出水仙花数_python打印水仙花数(基础版)
  19. R语言可视化:森林图绘制
  20. 原码、反码、补码(Integer.MIN_VALUE、Integer.MAX_VALUE)

热门文章

  1. P1852-跳跳棋【思维,差分,二分】
  2. P3975-[TJOI2015]弦论【SAM】
  3. 小 X 的 AK 计划
  4. codeforces 877F F. Ann and Books hash+莫队算法
  5. 16、java中的集合(3)
  6. MongoDB嵌套数组,多维数组查询
  7. 1.数据湖deltalake初识
  8. Memcached:列出所有Key
  9. 如何构建一套高可用的 APP 消息推送平台
  10. JDK8之新特性扩展篇