1 | import { Handler } from "../handler";
|
2 |
|
3 |
|
4 | export type KinesisStreamHandler = Handler<KinesisStreamEvent, KinesisStreamBatchResponse | void>;
|
5 |
|
6 |
|
7 | export type KinesisStreamTumblingWindowHandler = Handler<KinesisStreamTumblingWindowEvent, KinesisStreamStateResponse | void>;
|
8 |
|
9 |
|
10 |
|
11 | export interface KinesisStreamRecordPayload {
|
12 | approximateArrivalTimestamp: number;
|
13 | data: string;
|
14 | kinesisSchemaVersion: string;
|
15 | partitionKey: string;
|
16 | sequenceNumber: string;
|
17 | }
|
18 |
|
19 | export interface KinesisStreamRecord {
|
20 | awsRegion: string;
|
21 | eventID: string;
|
22 | eventName: string;
|
23 | eventSource: string;
|
24 | eventSourceARN: string;
|
25 | eventVersion: string;
|
26 | invokeIdentityArn: string;
|
27 | kinesis: KinesisStreamRecordPayload;
|
28 | }
|
29 |
|
30 | export interface KinesisStreamEvent {
|
31 | Records: KinesisStreamRecord[];
|
32 | }
|
33 |
|
34 |
|
35 | export interface KinesisStreamTumblingWindowEvent extends KinesisStreamEvent {
|
36 | window: { start: string; end: string };
|
37 | state?: { [key: string]: any };
|
38 | isFinalInvokeForWindow: boolean;
|
39 | isWindowTerminatedEarly: boolean;
|
40 | }
|
41 |
|
42 | export interface KinesisStreamStateResponse extends Partial<KinesisStreamBatchResponse> {
|
43 | state: { [key: string]: any };
|
44 | }
|
45 |
|
46 |
|
47 | export interface KinesisStreamBatchResponse {
|
48 | batchItemFailures: KinesisStreamBatchItemFailure[];
|
49 | }
|
50 |
|
51 | export interface KinesisStreamBatchItemFailure {
|
52 | itemIdentifier: string;
|
53 | }
|