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.