Amazon DynamoDB putItem возвращает ноль

Я использую AmazonDynamoDBClient метод putItem для вставки элемента в БД. тип возвращаемого значения putItem - PutItemResult, но я получаю его как ноль.

AmazonDynamoDBClient client = new AmazonDynamoDBClient();
PutItemRequest r = new PutItemRequest();
r.addItemEntry("custId",new Attribute Value("101"));
PutItemResult result = client.putItem(r);
//result is null

Элемент успешно вставлен в БД, но почему результат становится нулевым?

1 ответ

Решение

Пожалуйста, укажите RETURN_VALUE в зависимости от ваших требований. По умолчанию NONE.

ReturnValues ​​- (String) Используйте ReturnValues, если вы хотите получить атрибуты элемента в том виде, в котором они появились до того, как они были обновлены с помощью запроса PutItem. Для PutItem допустимыми значениями являются:

NONE - если ReturnValues ​​не указано или если его значение равно NONE, то ничего не возвращается. (Этот параметр является значением по умолчанию для ReturnValues.) ALL_OLD - Если PutItem перезаписал пару имя-значение атрибута, то возвращается содержимое старого элемента. Примечание. Параметр ReturnValues ​​используется несколькими операциями DynamoDB; однако PutItem не распознает никаких значений, кроме NONE или ALL_OLD.

Из документов API:-

public PutItemRequest(String tableName,
                      Map<String,AttributeValue> item,
                      String returnValues)

Установить возвращаемые значения

Параметр ReturnValues ​​используется несколькими операциями DynamoDB; однако PutItem не распознает никаких значений, кроме NONE или ALL_OLD.

ALL_NEW, UPDATED_NEW и UPDATED_OLD предназначены для операций UpdateItem.

UPDATED_OLD - возвращает только обновленные атрибуты, как они появились до операции UpdateItem.

ALL_NEW - возвращает все атрибуты элемента в том виде, в каком они появляются после операции UpdateItem.

UPDATED_NEW - возвращает только обновленные атрибуты, которые появляются после операции UpdateItem.

Другие вопросы по тегам