Commit 1e7388c
feat(idempotency): adding redis as idempotency backend (#2567)
* (redis): initial commit
* feat(redis/idempotency): creating redis connections
* feat(redis/idempotency): creating redis connections
* feat(redis/idempotency): fixing import
* feat(redis/idempotency): adding base class
* feat(redis/idempotency): adding logic to get record
* feat(redis/idempotency): adding expiry timeout
* feat(redis) - refactoring connection and fixing mypy errors
* feat(redis) - removing wrong print
* feat(redis) - removing fields and adding additional logic to validate the idempotency key
* feat(redis) - adding redis as dev dependency
* Update idempotency.md
Signed-off-by: Vandita Patidar <vandita.vk20@gmail.com>
* Update idempotency.md
Signed-off-by: Vandita Patidar <vandita.vk20@gmail.com>
* resolve regarding to ruben's comment
* resolve regarding to ruben's comment
* local test, minor fixes
* add redis to extra dep
* fix git issue
* fix docstring
* fix poetry, address some Leandro's suggestion
* change redis connection
* add mock redis, redis validation, sentinel support
* fix test
* add redis
* add doc, few todos still need to address
* add docs, test. Removed Connection
* fix test on delete
* add types-redis to pyproj
* fix Literal for 3.7
* add comment for delete
* add redis as dev dep
* fix poetry
* Simplifying DX
* remove redis-config in doc,test
* handle race condition
* remove todo
* change to use redis.set
* support decode_response=False
* fix mock redis
* add test for no decode
* fix docstring
* fix coverage
* add a test case to demostrate race condition
* add a race condition test for empty record
* add abs_lambda_path, protocol for redis client
* fix typing
* remove awaitable
* optimize protocol
* Fix Bandit issue
* Refactoring integration tests to use testcontainers
* Removing code smell
* fix makefile, remove sentinel setup
* Adding e2e tests
* Testing pipeline
* Removing things
* Removing things
* Fixing docstring and removing old code
* Improving the documentation
* Highlights + code removal
* Removing unnecessary tests
* Removing unnecessary tests
* Documentation
* Addressing initial Ruben's feedback
* Addressing Ruben's feedback - documentation
* Addressing Ruben's feedback - docstring
* Addressing Ruben's feedback - SSL
* Addressing Ruben's feedback - db_index
* Addressing Ruben's feedback - db_index
* Addressing Ruben's feedback - db_index
* redis comment improvements, minor refactor.
* fix example and docstring import
* fix import in inegration test
* Addressing Ruben's feedback - Redis name
* Addressing Ruben's feedback - Comments
* Minor changes in the documentation
* Minor changes in the documentation
* Removing Redis as builti-in dependency in our layer
* Adding Redis to install when creating a new env
* Adressing Ruben's feedback
* Making sonar happy
* e2e failing due to wrong import
---------
Signed-off-by: Vandita Patidar <vandita.vk20@gmail.com>
Signed-off-by: Leandro Damascena <lcdama@amazon.pt>
Co-authored-by: Leandro Damascena <leandro.damascena@gmail.com>
Co-authored-by: Vandita Patidar <vandita.vk20@gmail.com>
Co-authored-by: Leandro Damascena <lcdama@amazon.pt>
Co-authored-by: Cavalcante Damascena <lcdama@b0be8355743f.ant.amazon.com>1 parent 0bc47c5 commit 1e7388c
File tree
37 files changed
+2658
-152
lines changed- .github/workflows
- aws_lambda_powertools
- utilities/idempotency
- persistence
- docs/utilities
- examples/idempotency
- src
- templates
- tests
- tests
- e2e
- idempotency_redis
- handlers
- utils/lambda_layer
- functional/idempotency/persistence
- integration
- idempotency
- unit
37 files changed
+2658
-152
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
62 | 64 | | |
63 | 65 | | |
64 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
250 | 251 | | |
251 | 252 | | |
252 | 253 | | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
377 | | - | |
378 | 377 | | |
379 | 378 | | |
380 | 379 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
69 | 71 | | |
70 | 72 | | |
71 | 73 | | |
| |||
0 commit comments