在 Java 中在 DynamoDB 中执行批量写入

Perform batch write in DynamoDB in Java

我想使用在 Java 中编写的 AWS Lambda 将项目写入 DynamoDB。我使用以下代码一次向 DynamoDB 写入一条记录:

public void writeToDynamoDB() {
   AmazonDynamoDB client = AmazonDyanmoDBClientBuilder.defaultClient();
   Map<String, AttributeValue> itemValues = new HashMap<>();
   itemValues.put("partitionKey", new AttributeValue("123"));
   client.putItem("DynamoDBTable", itemValues);    
}

但是发现我需要批量写记录。我该怎么做。我可以对此代码进行任何修改吗?

如果您想使用 Java 执行 AWS 任务,请查看此处的 Java Developer V2 开发指南。

Developer guide - AWS SDK for Java 2.x

Amazon Java SDK 团队建议迁移到 V2。

Amazon 推荐对 Java 2.x 使用 AWS SDK,这是对 1.11.x 代码库的重大重写,构建于 [=35] 之上=] 8+。 Java SDK 2.x 改进了一致性、易用性和强强制不变性。它还支持非阻塞 I/O 并能够在 运行 时间插入不同的 HTTP 实现。

现在要执行您想要的任务,请使用 DynamoDB API V2 和增强客户端。你可以 find information here.

请参阅此示例,该示例演示了如何使用增强客户端将多个项目插入 Amazon DynamoDB table。

https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/dynamodb/src/main/java/com/example/dynamodb/EnhancedBatchWriteItems.java

您可以使用 Java Lambda 运行time API 和 DynamoDB API 创建满足您要求的 Lambda 函数。