2017-05-16 17 views
1

AmazonDynamoDBClient putItem 메서드를 사용하여 DB에 항목을 삽입하고 있습니다. putItem의 반환 유형은 PutItemResult이지만 null로 가져옵니다.Amazon DynamoDB putItem이 null을 반환했습니다.

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

항목이 DB에 성공적으로 삽입되었지만 결과가 null로 표시되는 이유는 무엇입니까?

답변

2

요구 사항에 따라 RETURN_VALUE을 지정하십시오. 기본값은 NONE입니다.

ReturnValues ​​- 당신은 그들이 PutItem 요청으로 업데이트되기 전에 그들이 등장 속성으로 항목을 얻으려면 (문자열) ReturnValues를 사용합니다. 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) 

Set return values

ReturnValues ​​매개 변수는 여러 DynamoDB의 작업에 의해 사용됩니다 그러나 PutItem은 NONE 또는 ALL_OLD 이외의 값을 인식하지 못합니다.

ALL_NEW, UPDATED_NEW 및 UPDATED_OLD는 UpdateItem 작업입니다.

UPDATED_OLD - UpdateItem 작업 전에 으로 표시되어 업데이트 된 특성 만 반환합니다.

ALL_NEW - UpdateItem 작업 후 으로 표시되는 항목의 모든 속성을 반환합니다.

UPDATED_NEW - UpdateItem 작업 후 으로 표시되는 업데이트 된 특성 만 반환합니다.

+0

PutItem은 NONE 또는 ALL_OLD 이외의 값을 인식하지 못하고 ALL_NEW 및 다른 ReturnValue가있는 이유는 무엇입니까? 처음 항목을 삽입하고 동일한 항목을 반환하려는 경우 어떻게해야합니까? –

+0

다른 반환 값에 대한 대답이 업데이트되었습니다. 특히 업데이트 항목입니다. – notionquest

+0

알 것. 감사! –

관련 문제