Amazon DynamoDB putItem 返回 null

Roh*_*han 4 amazon-dynamodb aws-java-sdk

我正在使用 AmazonDynamoDBClient putItem 方法在数据库中插入项目。putItem 的返回类型是 PutItemResult 但我将其获取为 null。

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

项目已成功插入数据库,但为什么结果为空?

not*_*est 9

请根据您的要求指定RETURN_VALUE 。默认值为NONE

\n\n
\n

ReturnValues \xe2\x80\x94 (字符串)如果您想要获取使用 PutItem\n 请求更新之前出现的 item\n 属性,请使用 ReturnValues。对于 PutItem,有效值为:

\n\n

NONE - 如果未指定 ReturnValues,或者其值为 NONE,则不返回任何内容。(此设置是 ReturnValues 的默认设置。)\n ALL_OLD - 如果 PutItem 覆盖属性名称/值对,则返回\n 旧项目的内容。注意:ReturnValues 参数\n 由多个 DynamoDB 操作使用;但是,PutItem 无法识别除 NONE 或 ALL_OLD 之外的任何值。

\n
\n\n

来自 API 文档:-

\n\n
public PutItemRequest(String tableName,\n                      Map<String,AttributeValue> item,\n                      String returnValues)\n
Run Code Online (Sandbox Code Playgroud)\n\n

设置返回值

\n\n
\n

ReturnValues 参数由多个 DynamoDB 操作使用;\n 但是,PutItem 无法识别除 NONE 或\n ALL_OLD 之外的任何值。

\n
\n\n

ALL_NEW、UPDATED_NEW 和 UPDATED_OLD 用于 UpdateItem 操作。

\n\n
\n

UPDATED_OLD - 仅返回更新的属性,因为它们在 UpdateItem 操作之前出现。

\n\n

ALL_NEW - 返回该项目的所有属性,就像它们在 UpdateItem 操作之后出现的那样。

\n\n

UPDATED_NEW - 仅返回更新的属性,因为它们在 UpdateItem 操作之后出现。

\n
\n