Skip to content

Commit c37b23e

Browse files
committed
Merge branch '3194-redis-idempotency-doc' of github.com:arnabrahman/aws-lambda-powertools-typescript into 3194-redis-idempotency-doc
2 parents 1ae3de4 + 8bd05e8 commit c37b23e

File tree

9 files changed

+278
-110
lines changed

9 files changed

+278
-110
lines changed

.github/workflows/ossf_scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,6 @@ jobs:
4343

4444
# Upload the results to GitHub's code scanning dashboard.
4545
- name: "Upload to code-scanning"
46-
uses: github/codeql-action/upload-sarif@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
46+
uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
4747
with:
4848
sarif_file: results.sarif

examples/app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"devDependencies": {
3131
"@types/aws-lambda": "^8.10.149",
3232
"@types/node": "22.15.18",
33-
"aws-cdk-lib": "^2.195.0",
33+
"aws-cdk-lib": "^2.196.0",
3434
"constructs": "^10.4.2",
3535
"source-map-support": "^0.5.21",
3636
"tsx": "^4.19.4",
@@ -49,7 +49,7 @@
4949
"@middy/core": "^4.7.0",
5050
"@types/aws-lambda": "^8.10.149",
5151
"@types/node": "22.15.18",
52-
"aws-cdk": "^2.1015.0",
52+
"aws-cdk": "^2.1016.0",
5353
"constructs": "^10.4.2",
5454
"esbuild": "^0.25.4",
5555
"typescript": "^5.8.3"

layers/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
"source-map-support": "^0.5.21"
4141
},
4242
"dependencies": {
43-
"aws-cdk": "^2.1015.0",
44-
"aws-cdk-lib": "^2.195.0",
43+
"aws-cdk": "^2.1016.0",
44+
"aws-cdk-lib": "^2.196.0",
4545
"esbuild": "^0.25.4",
4646
"tsx": "^4.19.4"
4747
}

package-lock.json

Lines changed: 25 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/parser/src/schemas/dynamodb.ts

Lines changed: 101 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -151,69 +151,103 @@ const DynamoDBStreamToKinesisRecord = DynamoDBStreamRecord.extend({
151151
* @example
152152
* ```json
153153
* {
154-
* "Records": [
155-
* {
156-
* "eventID": "1",
157-
* "eventVersion": "1.0",
158-
* "dynamodb": {
159-
* "ApproximateCreationDateTime": 1693997155.0,
160-
* "Keys": {
161-
* "Id": {
162-
* "N": "101"
163-
* }
164-
* },
165-
* "NewImage": {
166-
* "Message": {
167-
* "S": "New item!"
168-
* },
169-
* "Id": {
170-
* "N": "101"
171-
* }
154+
* "Records":[{
155+
* "eventID":"1",
156+
* "eventName":"INSERT",
157+
* "eventVersion":"1.0",
158+
* "eventSource":"aws:dynamodb",
159+
* "awsRegion":"us-east-1",
160+
* "dynamodb":{
161+
* "Keys":{
162+
* "Id":{
163+
* "N":"101"
164+
* }
165+
* },
166+
* "NewImage":{
167+
* "Message":{
168+
* "S":"New item!"
172169
* },
173-
* "StreamViewType": "NEW_AND_OLD_IMAGES",
174-
* "SequenceNumber": "111",
175-
* "SizeBytes": 26
170+
* "Id":{
171+
* "N":"101"
172+
* }
176173
* },
177-
* "awsRegion": "us-west-2",
178-
* "eventName": "INSERT",
179-
* "eventSourceARN": "eventsource_arn",
180-
* "eventSource": "aws:dynamodb"
174+
* "SequenceNumber":"111",
175+
* "SizeBytes":26,
176+
* "StreamViewType":"NEW_AND_OLD_IMAGES"
181177
* },
182-
* {
183-
* "eventID": "2",
184-
* "eventVersion": "1.0",
185-
* "dynamodb": {
186-
* "OldImage": {
187-
* "Message": {
188-
* "S": "New item!"
189-
* },
190-
* "Id": {
191-
* "N": "101"
192-
* }
178+
* "eventSourceARN":"stream-ARN"
179+
* },
180+
* {
181+
* "eventID":"2",
182+
* "eventName":"MODIFY",
183+
* "eventVersion":"1.0",
184+
* "eventSource":"aws:dynamodb",
185+
* "awsRegion":"us-east-1",
186+
* "dynamodb":{
187+
* "Keys":{
188+
* "Id":{
189+
* "N":"101"
190+
* }
191+
* },
192+
* "NewImage":{
193+
* "Message":{
194+
* "S":"This item has changed"
193195
* },
194-
* "SequenceNumber": "222",
195-
* "Keys": {
196-
* "Id": {
197-
* "N": "101"
198-
* }
196+
* "Id":{
197+
* "N":"101"
198+
* }
199+
* },
200+
* "OldImage":{
201+
* "Message":{
202+
* "S":"New item!"
199203
* },
200-
* "SizeBytes": 59,
201-
* "NewImage": {
202-
* "Message": {
203-
* "S": "This item has changed"
204-
* },
205-
* "Id": {
206-
* "N": "101"
207-
* }
204+
* "Id":{
205+
* "N":"101"
206+
* }
207+
* },
208+
* "SequenceNumber":"222",
209+
* "SizeBytes":59,
210+
* "StreamViewType":"NEW_AND_OLD_IMAGES"
211+
* },
212+
* "eventSourceARN":"stream-ARN"
213+
* },
214+
* {
215+
* "eventID":"3",
216+
* "eventName":"REMOVE",
217+
* "eventVersion":"1.0",
218+
* "eventSource":"aws:dynamodb",
219+
* "awsRegion":"us-east-1",
220+
* "dynamodb":{
221+
* "Keys":{
222+
* "Id":{
223+
* "N":"101"
224+
* }
225+
* },
226+
* "OldImage":{
227+
* "Message":{
228+
* "S":"This item has changed"
208229
* },
209-
* "StreamViewType": "NEW_AND_OLD_IMAGES"
230+
* "Id":{
231+
* "N":"101"
232+
* }
210233
* },
211-
* "awsRegion": "us-west-2",
212-
* "eventName": "MODIFY",
213-
* "eventSourceARN": "source_arn",
214-
* "eventSource": "aws:dynamodb"
215-
* }
216-
* ]
234+
* "SequenceNumber":"333",
235+
* "SizeBytes":38,
236+
* "StreamViewType":"NEW_AND_OLD_IMAGES"
237+
* },
238+
* "eventSourceARN":"stream-ARN"
239+
* }],
240+
* "window": {
241+
* "start": "2020-07-30T17:00:00Z",
242+
* "end": "2020-07-30T17:05:00Z"
243+
* },
244+
* "state": {
245+
* "1": "state1"
246+
* },
247+
* "shardId": "shard123456789",
248+
* "eventSourceARN": "stream-ARN",
249+
* "isFinalInvokeForWindow": false,
250+
* "isWindowTerminatedEarly": false
217251
* }
218252
* ```
219253
*
@@ -222,6 +256,17 @@ const DynamoDBStreamToKinesisRecord = DynamoDBStreamRecord.extend({
222256
*/
223257
const DynamoDBStreamSchema = z.object({
224258
Records: z.array(DynamoDBStreamRecord).min(1),
259+
window: z
260+
.object({
261+
start: z.string().datetime(),
262+
end: z.string().datetime(),
263+
})
264+
.optional(),
265+
state: z.record(z.string(), z.string()).optional(),
266+
shardId: z.string().optional(),
267+
eventSourceARN: z.string().optional(),
268+
isFinalInvokeForWindow: z.boolean().optional(),
269+
isWindowTerminatedEarly: z.boolean().optional(),
225270
});
226271

227272
export {

0 commit comments

Comments
 (0)