2017-05-16 19 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の場合は、 は返されません。 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

はそれを得ました。ありがとう! –

関連する問題