Skip to content

Commit 0189db0

Browse files
committed
chore: explicit DynamoDB Stream schema naming
1 parent b1a4821 commit 0189db0

File tree

4 files changed

+18
-18
lines changed

4 files changed

+18
-18
lines changed

aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from pydantic import BaseModel
55
from typing_extensions import Literal
66

7-
from ..schemas import DynamoDBSchema
7+
from ..schemas import DynamoDBStreamSchema
88
from .base import BaseEnvelope
99

1010
logger = logging.getLogger(__name__)
@@ -32,7 +32,7 @@ def parse(self, data: Dict[str, Any], schema: BaseModel) -> List[Dict[Literal["N
3232
List
3333
List of records parsed with schema provided
3434
"""
35-
parsed_envelope = DynamoDBSchema(**data)
35+
parsed_envelope = DynamoDBStreamSchema(**data)
3636
output = []
3737
for record in parsed_envelope.Records:
3838
output.append(
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
from .dynamodb import DynamoDBSchema, DynamoRecordSchema, DynamoScheme
1+
from .dynamodb import DynamoDBStreamChangedRecordSchema, DynamoDBStreamRecordSchema, DynamoDBStreamSchema
22
from .event_bridge import EventBridgeSchema
33
from .sqs import SqsRecordSchema, SqsSchema
44

55
__all__ = [
6-
"DynamoDBSchema",
6+
"DynamoDBStreamSchema",
77
"EventBridgeSchema",
8-
"DynamoScheme",
9-
"DynamoRecordSchema",
8+
"DynamoDBStreamChangedRecordSchema",
9+
"DynamoDBStreamRecordSchema",
1010
"SqsSchema",
1111
"SqsRecordSchema",
1212
]

aws_lambda_powertools/utilities/parser/schemas/dynamodb.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from typing_extensions import Literal
66

77

8-
class DynamoScheme(BaseModel):
8+
class DynamoDBStreamChangedRecordSchema(BaseModel):
99
ApproximateCreationDateTime: Optional[date]
1010
Keys: Dict[str, Dict[str, Any]]
1111
NewImage: Optional[Dict[str, Any]]
@@ -31,16 +31,16 @@ class UserIdentity(BaseModel):
3131
principalId: Literal["dynamodb.amazonaws.com"]
3232

3333

34-
class DynamoRecordSchema(BaseModel):
34+
class DynamoDBStreamRecordSchema(BaseModel):
3535
eventID: str
3636
eventName: Literal["INSERT", "MODIFY", "REMOVE"]
3737
eventVersion: float
3838
eventSource: Literal["aws:dynamodb"]
3939
awsRegion: str
4040
eventSourceARN: str
41-
dynamodb: DynamoScheme
41+
dynamodb: DynamoDBStreamChangedRecordSchema
4242
userIdentity: Optional[UserIdentity]
4343

4444

45-
class DynamoDBSchema(BaseModel):
46-
Records: List[DynamoRecordSchema]
45+
class DynamoDBStreamSchema(BaseModel):
46+
Records: List[DynamoDBStreamRecordSchema]

tests/functional/parser/schemas.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
from typing_extensions import Literal
55

66
from aws_lambda_powertools.utilities.parser.schemas import (
7-
DynamoDBSchema,
8-
DynamoRecordSchema,
9-
DynamoScheme,
7+
DynamoDBStreamChangedRecordSchema,
8+
DynamoDBStreamRecordSchema,
9+
DynamoDBStreamSchema,
1010
EventBridgeSchema,
1111
SqsRecordSchema,
1212
SqsSchema,
@@ -18,17 +18,17 @@ class MyDynamoBusiness(BaseModel):
1818
Id: Dict[Literal["N"], int]
1919

2020

21-
class MyDynamoScheme(DynamoScheme):
21+
class MyDynamoScheme(DynamoDBStreamChangedRecordSchema):
2222
NewImage: Optional[MyDynamoBusiness]
2323
OldImage: Optional[MyDynamoBusiness]
2424

2525

26-
class MyDynamoRecordSchema(DynamoRecordSchema):
26+
class MyDynamoDBStreamRecordSchema(DynamoDBStreamRecordSchema):
2727
dynamodb: MyDynamoScheme
2828

2929

30-
class MyAdvancedDynamoBusiness(DynamoDBSchema):
31-
Records: List[MyDynamoRecordSchema]
30+
class MyAdvancedDynamoBusiness(DynamoDBStreamSchema):
31+
Records: List[MyDynamoDBStreamRecordSchema]
3232

3333

3434
class MyEventbridgeBusiness(BaseModel):

0 commit comments

Comments
 (0)