[英]Write item to DynamoDB using Apache Camel with Java Annotations for DynamoDB
情况
我正在尝试使用Apache Camel aws2-ddb 组件写入 DynamoDB。 我的路线使用 JPA 从关系数据库中读取,对目标 class 执行转换并将该 class 放入 DynamoDB 表中。
目标 class 看起来像这样(当然在现实中更复杂)
@DynamoDBTable(tableName = "MyDataTable")
public class MyData {
private String key;
private String foo;
private List<String> bar;
@DynamoDBHashKey(attributeName = "key")
public String getKey() { return key; }
@DynamoDBAttribute(attributeName = "foo")
public String getFoo() { return foo; }
@DynamoDBAttribute(attributeName = "bar")
public List<String> getBar() { return bar; }
// ...
}
仅使用 AWS SDK 我会简单地做这样的事情:
DynamoDBMapper mapper = new DynamoDBMapper(client);
mapper.save(myDataItem);
然而,aws2-ddb 组件需要该项目作为Map<String, AttributeValue>
。
题
如何将带注释的 class 转换为Map<String, AttributeValue>
? 感觉这应该是显而易见的事情,但我似乎无法在 AWS SDK 中找到任何内容。
(作为解决方法,我可以在自定义处理器中实现上述DynamoDBMapper
代码,但我更愿意使用该组件。)
Unof.netelly 在camel-aws-ddb库向下钻取期间,我发现无法使用 DynamoDbMapper。 基本上, aws-dbb / aws2-dbb组件在幕后使用 DdbProducer,在您的情况下,它实际上是一个调用ddbClient putItem 的处理器。
可能的选项是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.