как использовать «выражение условия» в API-интерфейсе updateItem DynamoDB для обновления элемента - PullRequest
0 голосов
/ 30 октября 2019

Я следую этому руководству, чтобы реализовать операцию обновления элемента. У меня вопрос, как использовать «выражение условия» для обновления столбца, когда он существует и не существует.

package com.amazonaws.codesamples.gsg;

import java.util.Arrays;

import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.document.Table;
import com.amazonaws.services.dynamodbv2.document.UpdateItemOutcome;
import com.amazonaws.services.dynamodbv2.document.spec.UpdateItemSpec;
import com.amazonaws.services.dynamodbv2.document.utils.ValueMap;
import com.amazonaws.services.dynamodbv2.model.ReturnValue;

public class MoviesItemOps03 {

    public static void main(String[] args) throws Exception {

        AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
            .withEndpointConfiguration(
                new AwsClientBuilder.EndpointConfiguration(
                    "http://localhost:8000", "us-west-2"
                )
            )
            .build();

        DynamoDB dynamoDB = new DynamoDB(client);

        Table table = dynamoDB.getTable("Movies");

        int year = 2015;
        String title = "The Big New Movie";

        UpdateItemSpec updateItemSpec = new UpdateItemSpec()
            .withPrimaryKey("year", year, "title", title)
            .withUpdateExpression(
                "set info.rating = :r, info.plot=:p, info.actors=:a"
            )
            .withValueMap(
                new ValueMap()
                    .withNumber(":r", 5.5)
                    .withString(":p", "Everything happens all at once.")
                    .withList(":a", Arrays.asList("Larry", "Moe", "Curly"))
            )
            .withReturnValues(ReturnValue.UPDATED_NEW);

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...