AWS DynamoDB V3 SDK PutCommand执行后无法返回插入项的问题求解
问题原因
DynamoDB 的PutItem接口默认不返回写入的条目属性,你遇到的情况属于接口默认行为,和SDK版本无关,你之前使用V2版本时应该是显式配置了返回规则,所以可以正常拿到插入的条目数据。
解决方案
在PutCommand的入参中新增ReturnValues配置项,取值设为ALL_NEW即可返回你刚插入的完整条目:
const command = new PutCommand({ TableName: tableName, Item: item, ReturnValues: 'ALL_NEW' // 新增此行配置 })
修改后你可以直接从cmdResult.Attributes拿到插入的条目数据,DynamoDBDocumentClient已经自动完成了解组,不需要额外做格式转换。
补充说明
ReturnValues常用可选值如下:
NONE:默认值,不返回任何属性,和你当前的表现一致ALL_NEW:返回写入完成后完整的新条目属性,适合需要获取插入后数据的场景ALL_OLD:返回写入前该主键对应的旧条目属性,适合需要记录被覆盖数据的场景
内容的提问来源于stack exchange,提问作者jfgDev
相关产品推荐
相关产品推荐

