AWS DynamoDB Как добавить значение в набор, пример JAVA - PullRequest
0 голосов
/ 27 сентября 2018

Уже есть ответ на вопрос , который делает то же самое, что я хочу, но я хочу это на Java, но я не могу это сделать, пожалуйста, подскажите, пожалуйста, кто-то подскажет, как это сказать на Java

aws dynamodb update-item --table-name predict \
--key '{"id": {"S": "keyname"}}' \
--update-expression "ADD attributename :attributevalue" \
--expression-attribute-values '{":attributevalue": {"SS": ["value1", "value2"]}}'

Это работает с CLI, и делайте, что я хочу, я пытался с этим:

UpdateItemSpec updateItemSpec = new UpdateItemSpec()
            .withPrimaryKey("id", "keyname")
            .withUpdateExpression("add attributename :attributevalue")
            .withValueMap(new ValueMap().withStringSet("attributevalue", "value1", "value2"))
            .withReturnValues(ReturnValue.ALL_NEW);
dynamoDB.getTable(DYNAMO_TABLE_NAME).updateItem(updateItemSpec);

Я получил следующее сообщение об ошибке:

java.lang.NoSuchMethodError: com.amazon.dynamodb.grammar.DynamoDbExpressionParser.parseUpdate(Ljava/lang/String;Lorg/antlr/v4/runtime/ANTLRErrorListener;)Lorg/antlr/v4/runtime/tree/ParseTree;

Поэтому в основном я хочу добавить набор, и, если он не существует, создать с указанными значениями

Важное примечание

Похоже, он не работает при подключении к динамо- локально и работает при подключении к настоящему динамо.(

...