aws-sdk,如何将JSONArray发送到DynamoDB updateItem()方法?

时间:2018-07-04 10:18:00

标签: amazon-web-services amazon-dynamodb aws-sdk

我无法将JsonArray发送到UpdateItemRequest的SetExpressionAttributeValues()以便能够传递给DynamoDBClient.updateItem()方法

下面是JsonArray,我想将其传递给updateItemRequest的SetExpressionAttributeValues()方法。

[{"ID":"T1","Result":1},{"ID":"T2","Result":0}]

我该怎么办?

我尝试使用以下方式,

UpdateItemRequest updateItemRequest = new UpdateItemRequest();
updateItemRequest.setTableName(DYNAMODB_TABLE);
updateItemRequest.withKey(keyMap);  

Map attributeNameData = new HashMap<String,AttributeValue>();
attributeNameData.put("#c",new AttributeValue().withS("list1"));
updateItemRequest.withExpressionAttributeNames(attributeNameData);
updateItemRequest.withUpdateExpression("SET #c = list_append(#c, :vals)");

Map expressionAttributeValue = new HashMap<String,AttributeValue>();
expressionAttributeValue.put(":vals",new AttributeValue().withS(jsonOutput));
updateItemRequest.setExpressionAttributeValues(expressionAttributeValue);

但是它的给出错误为,

com.amazonaws.AmazonClientException: Unable to marshall request to JSON: java.lang.String cannot be cast to com.amazonaws.services.dynamodbv2.model.AttributeValue

我是Amazon Dynamo DB的新手,并且正在使用AWS Mobile SDK,但是在AWS文档中找不到任何有用的东西,有人可以帮助我吗?

谢谢!

0 个答案:

没有答案