UNPKG

1.74 kBTypeScriptView Raw
1import { Handler } from "../handler";
2
3// tslint:disable-next-line:void-return
4export type KinesisStreamHandler = Handler<KinesisStreamEvent, KinesisStreamBatchResponse | void>;
5
6// tslint:disable-next-line:void-return
7export type KinesisStreamTumblingWindowHandler = Handler<KinesisStreamTumblingWindowEvent, KinesisStreamStateResponse | void>;
8
9// Kinesis Streams
10// https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-kinesis-streams
11export interface KinesisStreamRecordPayload {
12 approximateArrivalTimestamp: number;
13 data: string;
14 kinesisSchemaVersion: string;
15 partitionKey: string;
16 sequenceNumber: string;
17}
18
19export 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
30export interface KinesisStreamEvent {
31 Records: KinesisStreamRecord[];
32}
33
34// https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-windows
35export interface KinesisStreamTumblingWindowEvent extends KinesisStreamEvent {
36 window: { start: string; end: string };
37 state?: { [key: string]: any };
38 isFinalInvokeForWindow: boolean;
39 isWindowTerminatedEarly: boolean;
40}
41
42export interface KinesisStreamStateResponse extends Partial<KinesisStreamBatchResponse> {
43 state: { [key: string]: any };
44}
45
46// https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-batchfailurereporting
47export interface KinesisStreamBatchResponse {
48 batchItemFailures: KinesisStreamBatchItemFailure[];
49}
50
51export interface KinesisStreamBatchItemFailure {
52 itemIdentifier: string;
53}