Fixed dynamodb2 put_item ValidationException
This commit is contained in:
parent
c0953a229f
commit
349b381390
3 changed files with 55 additions and 1 deletions
|
|
@ -800,13 +800,19 @@ class Table(BaseModel):
|
|||
overwrite=False,
|
||||
):
|
||||
if self.hash_key_attr not in item_attrs.keys():
|
||||
raise ValueError(
|
||||
raise KeyError(
|
||||
"One or more parameter values were invalid: Missing the key "
|
||||
+ self.hash_key_attr
|
||||
+ " in the item"
|
||||
)
|
||||
hash_value = DynamoType(item_attrs.get(self.hash_key_attr))
|
||||
if self.has_range_key:
|
||||
if self.range_key_attr not in item_attrs.keys():
|
||||
raise KeyError(
|
||||
"One or more parameter values were invalid: Missing the key "
|
||||
+ self.range_key_attr
|
||||
+ " in the item"
|
||||
)
|
||||
range_value = DynamoType(item_attrs.get(self.range_key_attr))
|
||||
else:
|
||||
range_value = None
|
||||
|
|
|
|||
|
|
@ -299,6 +299,9 @@ class DynamoHandler(BaseResponse):
|
|||
except ItemSizeTooLarge:
|
||||
er = "com.amazonaws.dynamodb.v20111205#ValidationException"
|
||||
return self.error(er, ItemSizeTooLarge.message)
|
||||
except KeyError as ke:
|
||||
er = "com.amazonaws.dynamodb.v20111205#ValidationException"
|
||||
return self.error(er, ke.args[0])
|
||||
except ValueError as ve:
|
||||
er = "com.amazonaws.dynamodb.v20111205#ConditionalCheckFailedException"
|
||||
return self.error(er, str(ve))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue