升级DynamoDB至AWS-SDK v3后,无法成功执行两次以上更新操作
AWS SDK v3 DynamoDB UpdateCommand 执行两次后触发500错误问题
正在将DynamoDB客户端升级至最新版AWS-SDK v3,确认SDK版本切换后DynamoDB表的更新表达式未做修改,但使用新的UpdateCommand与旧版update命令的表现不一致。
客户端初始化代码
const dynamoDB = (accessKey, secretAccess) => { if (!docClient) { docClient = DynamoDBDocument.from( new DynamoDBClient({ region: 'local', maxAttempts: 3, endpoint: 'http://docker.for.mac.localhost:8000', }), { marshallOptions: { removeUndefinedValues: true, }, }, ); } return docClient; };
更新命令执行代码
await dynamoDB().send( new UpdateCommand({ TableName: process.env.TABLE_NAME, Key: { pk: bId }, UpdateExpression: 'set blogEvents = list_append(if_not_exists(blogEvents, :emptyList), :newEvent)', ExpressionAttributeValues: { ':newEvent': [blogEvent], ':emptyList': [], }, }), );
上述命令可成功执行两次,但之后会触发500错误,无有效调试信息,错误内容为:The request processing has failed because of an unknown error, exception or failure.。当前使用的是DynamoDBDocument和DynamoDBClient。
内容的提问来源于stack exchange,提问作者Sean O
相关产品推荐
相关产品推荐

