我正在尝试通过AWS Lambda函数更新DynamoDb表中的项目,并且出现以下错误:
“ errorMessage”:“调用UpdateItem操作时发生错误(ValidationException):提供的键元素与架构不匹配”,
在定义表时,我尚未定义排序键,并且我的分区键名为“ pipeId”,并且我使用了以下代码:
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('mytable')
response = table.update_item(
Key={
'pipeId': pipe_id
},
UpdateExpression="set hookId = :r",
ExpressionAttributeValues={
':r': hook_id
},
ReturnValues="UPDATED_NEW"
)
如果没有事先设置排序键就无法获取或更新商品?还是我在这里做错了什么?
答案 0 :(得分:1)
我找到了解决方法。
问题是我的主键定义为数字,而我将其插入为字符串,例如“ 3219”;但它不会自动转换。