尝试创建Lambda以从Kinesis流更新DynamoDB.这是我的更新声明:
var response = dd.updateItem({ 'Key': {'S': payload.identityId}, 'TableName': 'Users', 'UpdateExpression': 'SET testVal = :testVal', 'ExpressionAttributeValues': { ':testVal': {'S': 'This is a test'} } }
这会生成47条错误消息:
InvalidParameterType:预期params.Key ['S']是一个结构
UnexpectedParameter:在params.Key ['S']中找到意外的键'0'
UnexpectedParameter:在params.Key ['S']中找到意外的键'1'
UnexpectedParameter:在params.Key ['S']中找到意外的键'2'
UnexpectedParameter:在params.Key ['S']中找到意外的键'3'
...
UnexpectedParameter:在params.Key ['S']中找到意外的键'44'
UnexpectedParameter:在params.Key ['S']中找到意外的键'45'"}
该Users
表存在且当前为空.我已经双重检查了identityID的存在(并且是有效的).谁能看到我在这里做错了什么?
想出这个.有时只是发布问题会让你以不同的方式思考它!
我没有Key
正确传递.
dd.updateItem({ 'Key': { 'hashAttributeName': { 'S': payload.identityId } }, 'TableName': 'Users', 'UpdateExpression': 'SET testVal = :testVal', 'ExpressionAttributeValues': { ':testVal': {'S': 'This is a test'} } }