[英]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.