Skip to content

Commit b239af3

Browse files
authored
Merge pull request #8 from RSS-Engineering/handle_dynamo_get_resource_error
Handle dynamo get resource error
2 parents e157984 + 881699a commit b239af3

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

pydanticrud/backends/dynamodb.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,12 @@ def query(self, query_expr: Optional[Rule] = None, filter_expr: Optional[Rule] =
318318

319319
def get(self, key):
320320
_key = self._key_param_to_dict(key)
321-
resp = self.get_table().get_item(Key=_key)
321+
try:
322+
resp = self.get_table().get_item(Key=_key)
323+
except ClientError as e:
324+
if e.response["Error"]["Code"] == "ResourceNotFoundException":
325+
raise DoesNotExist(f'{self.table_name} "{_key}" does not exist')
326+
raise e
322327

323328
if "Item" not in resp:
324329
if not self.range_key:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ license = "MIT"
77

88
[tool.poetry.dependencies]
99
python = ">=3.6"
10+
boto3 = "^1.17.112"
1011
rule-engine = "^3.2.0"
1112
pydantic = "^1.8.2"
1213
boto3 = {version = "^1.17.112", optional = true}
1314
dataclasses = {version = "^0.8", python = "3.6"}
1415

1516
[tool.poetry.dev-dependencies]
16-
boto3 = "^1.17.112"
1717
pytest = "^6.2.4"
1818
docker = "^5.0.0"
1919
black = "^21.6b0"

0 commit comments

Comments
 (0)