aws-sdk, как отправить JSONArray в метод updateItem () DynamoDB? - PullRequest
0 голосов
/ 04 июля 2018

Я не могу отправить JsonArray в SetExpressionAttributeValues ​​() UpdateItemRequest, чтобы иметь возможность передать метод DynamoDBClient.updateItem ()

Ниже приведен JsonArray, который я хочу передать методу SetExpressionAttributeValues ​​() updateItemRequest.

[{"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, кто-нибудь может мне помочь?

Заранее спасибо!

...