Apache camel 如何使用ApacheCamel在DynamoDb中将映射作为属性值?

Apache camel 如何使用ApacheCamel在DynamoDb中将映射作为属性值?,apache-camel,amazon-dynamodb,Apache Camel,Amazon Dynamodb,我想使用ApacheCamel的PutItem操作来放置一个类似于so“M”:{“Name”:{“S”:“Joe”},“Age”:{“N”:“35”}的映射。代码应该是这样的-> .post("dynamodb-put-item") .route() .process(new Processor(){ @Override public void process(Exchange exchange) throws Exceptio

我想使用ApacheCamel的
PutItem
操作来放置一个类似于so
“M”:{“Name”:{“S”:“Joe”},“Age”:{“N”:“35”}
的映射。代码应该是这样的->

.post("dynamodb-put-item")
    .route()
    .process(new Processor(){
        @Override
        public void process(Exchange exchange) throws Exception {
            Map<String, AttributeValue> key = new HashMap();
            key.put("M", AttributeValue.builder().m(//Something needs to be added here).build());
            exchange.getIn().setHeader(Ddb2Constants.ITEM, key);
            exchange.getIn().setHeader(Ddb2Constants.RETURN_VALUES, "ALL_OLD");

        }
        
    })
    .toD("aws2-ddb://user?accessKey=insert&secretKey=insert&region=us-east-1&operation=PutItem")
    .endRest();
.post(“dynamodb放置项”)
.路线(
.进程(新处理器(){
@凌驾
公共作废进程(Exchange)引发异常{
Map key=newhashmap();
key.put(“M”,AttributeValue.builder().M(//此处需要添加一些内容).build());
exchange.getIn().setHeader(Ddb2Constants.ITEM,key);
exchange.getIn().setHeader(Ddb2Constants.RETURN_值,“ALL_OLD”);
}
})
.toD(“aws2-ddb://user?accessKey=insert&secretKey=insert®ion=us-east-1和操作=项目)
.endRest();

{“Name”:{“S”:“Joe”}
“Age”:{“N”:“35”}
分别是一个
地图。对于这个例子,我可以通过为
{“Name”:{“S”:“Joe”}
“Age”:{“N”:“35”}
再创建一个映射来手动硬编码它。但是我正在寻找一个通用的解决方案,因为映射可以是string、boolean、maplist等类型。如何制作一个通用的东西来处理映射的所有可能情况?

映射值来自何处?它将作为json输入到
dynamodb put item
路由。因此它将是一个JSONObject,如
{“M”:{“Name”:{“S”:“Joe”},“Age”:{“N”:“35”}
。现在我必须将这个json对象更改为Map。Map值从何而来?它将作为
dynamodb put项
路由的json输入。因此它将是一个JSONObject,如
{“M”:{“Name”:{“S”:“Joe”},“Age”:{“N”:“35”}
。现在我必须将此json对象更改为映射。