使用Java将项目插入DynamoDB表
生活随笔
收集整理的這篇文章主要介紹了
使用Java将项目插入DynamoDB表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在上一篇文章中,我們學(xué)習(xí)了如何使用Java創(chuàng)建DynamoDB表。 下一步是將項目插入到先前創(chuàng)建的DynamoDB表中。
請記住,對于插入操作,最基本的步驟是指定主鍵。 對于表用戶,主鍵是屬性電子郵件。 您可以根據(jù)需要添加任意數(shù)量的屬性,但是累積大小不應(yīng)超過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,但是有關(guān)消耗的容量沒有任何變化。 在我們的情況下,我們將添加一批登錄嘗試。
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);如果插入具有全局/本地二級索引,則您要做的就是為索引指定相應(yīng)的屬性。 考慮到您可以具有與索引相關(guān)的空屬性,甚至可以重復(fù)。
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
總結(jié)
以上是生活随笔為你收集整理的使用Java将项目插入DynamoDB表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓平板论坛推荐(安卓平板论坛)
- 下一篇: 货代企业备案和对外贸易备案(货代企业备案