@@ -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 */
223257const 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
227272export {
0 commit comments