File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed
aws_lambda_powertools/utilities/idempotency/persistence Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -104,6 +104,21 @@ def __init__(
104
104
super(DynamoDBPersistenceLayer, self).__init__()
105
105
106
106
def _get_key(self, idempotency_key: str) -> dict:
107
+ """Build primary key attribute simple or composite based on params.
108
+
109
+ When sort_key_attr is set, we must return a composite key with static_pk_value,
110
+ otherwise we use the idempotency key given.
111
+
112
+ Parameters
113
+ ----------
114
+ idempotency_key : str
115
+ idempotency key to use for simple primary key
116
+
117
+ Returns
118
+ -------
119
+ dict
120
+ simple or composite key for DynamoDB primary key
121
+ """
107
122
if self.sort_key_attr:
108
123
return {self.key_attr: {"S": self.static_pk_value}, self.sort_key_attr: {"S": idempotency_key}}
109
124
return {self.key_attr: {"S": idempotency_key}}
@@ -145,8 +160,8 @@ def _get_record(self, idempotency_key) -> DataRecord:
145
160
146
161
def _put_record(self, data_record: DataRecord) -> None:
147
162
item = {
163
+ # get simple or composite primary key
148
164
**self._get_key(data_record.idempotency_key),
149
- self.key_attr: {"S": data_record.idempotency_key},
150
165
self.expiry_attr: {"N": str(data_record.expiry_timestamp)},
151
166
self.status_attr: {"S": data_record.status},
152
167
}
You can’t perform that action at this time.
0 commit comments