从 SQS 接收 messages/events 并将它们映射到 Dynamodb
Receive messages/events from SQS and map them to Dynamodb
我正在尝试找到一种方法来读取我的 SQS 事件并使用 Java 将它们映射到 DynamoDB。我在 AWS 中有一个 SQS,它会收到一些包含一些信息的消息,例如{"id": "xxx", "state": "xxx"}
。我想将这些事件映射到我的 DynamoDB table。 DynamoDB 包含 id
作为分区键。
根据我的研究,这可以通过从 sqs 读取消息并在 JAVA 中使用来自 AWS DynamoDB 的 putItem
来实现。
使用 JAVA 有什么简单的方法吗?或者任何示例在这里都会有所帮助。
谢谢!
对于 AWS,有一个 JAVA SDK 2.0 专门为此设计:
从 SQS 队列接收消息的一般示例:
ReceiveMessageRequest receiveMessageRequest = ReceiveMessageRequest.builder()
.queueUrl(queueUrl)
.maxNumberOfMessages(5)
.build();
List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).messages();
将项目放入 DynamoDB 的一般示例:
HashMap<String,AttributeValue> itemValues = new HashMap<String,AttributeValue>();
// Add all content to the table
itemValues.put(key, AttributeValue.builder().s(keyVal).build());
itemValues.put(songTitle, AttributeValue.builder().s(songTitleVal).build());
itemValues.put(albumTitle, AttributeValue.builder().s(albumTitleValue).build());
itemValues.put(awards, AttributeValue.builder().s(awardVal).build());
PutItemRequest request = PutItemRequest.builder()
.tableName(tableName)
.item(itemValues)
.build();
ddb.putItem(request);
System.out.println(tableName +" was successfully updated");
AWS 文档非常出色,其示例也是如此:
https://github.com/awsdocs/aws-doc-sdk-examples/tree/fb99a9b5453c61c13a032b9c225986c865ba4705/javav2
官方文档:https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/prog-services.html
我正在尝试找到一种方法来读取我的 SQS 事件并使用 Java 将它们映射到 DynamoDB。我在 AWS 中有一个 SQS,它会收到一些包含一些信息的消息,例如{"id": "xxx", "state": "xxx"}
。我想将这些事件映射到我的 DynamoDB table。 DynamoDB 包含 id
作为分区键。
根据我的研究,这可以通过从 sqs 读取消息并在 JAVA 中使用来自 AWS DynamoDB 的 putItem
来实现。
使用 JAVA 有什么简单的方法吗?或者任何示例在这里都会有所帮助。
谢谢!
对于 AWS,有一个 JAVA SDK 2.0 专门为此设计:
从 SQS 队列接收消息的一般示例:
ReceiveMessageRequest receiveMessageRequest = ReceiveMessageRequest.builder()
.queueUrl(queueUrl)
.maxNumberOfMessages(5)
.build();
List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).messages();
将项目放入 DynamoDB 的一般示例:
HashMap<String,AttributeValue> itemValues = new HashMap<String,AttributeValue>();
// Add all content to the table
itemValues.put(key, AttributeValue.builder().s(keyVal).build());
itemValues.put(songTitle, AttributeValue.builder().s(songTitleVal).build());
itemValues.put(albumTitle, AttributeValue.builder().s(albumTitleValue).build());
itemValues.put(awards, AttributeValue.builder().s(awardVal).build());
PutItemRequest request = PutItemRequest.builder()
.tableName(tableName)
.item(itemValues)
.build();
ddb.putItem(request);
System.out.println(tableName +" was successfully updated");
AWS 文档非常出色,其示例也是如此:
https://github.com/awsdocs/aws-doc-sdk-examples/tree/fb99a9b5453c61c13a032b9c225986c865ba4705/javav2
官方文档:https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/prog-services.html