@serverless-seoul/dynamorm-stream
Version:
DynamoDB Stream Framework
50 lines (49 loc) • 1.64 kB
TypeScript
import type * as DynamoDB from "aws-sdk/clients/dynamodb";
export declare type KeySchema = DynamoDB.AttributeMap;
export declare type DataSchema = DynamoDB.AttributeMap;
export interface DynamoDBStreamCommonEventRecord {
eventID: string;
eventName: string;
eventVersion: string;
eventSource: "aws:dynamodb";
awsRegion: string;
eventSourceARN: string;
}
export interface DynamoDBStreamInsertEventRecord extends DynamoDBStreamCommonEventRecord {
eventName: "INSERT";
dynamodb: {
ApproximateCreationDateTime: number;
Keys: KeySchema;
NewImage: DataSchema;
SequenceNumber: string;
SizeBytes: number;
StreamViewType: string;
};
}
export interface DynamoDBStreamModifyEventRecord extends DynamoDBStreamCommonEventRecord {
eventName: "MODIFY";
dynamodb: {
ApproximateCreationDateTime: number;
Keys: KeySchema;
NewImage: DataSchema;
OldImage: DataSchema;
SequenceNumber: string;
SizeBytes: number;
StreamViewType: string;
};
}
export interface DynamoDBStreamRemoveEventRecord extends DynamoDBStreamCommonEventRecord {
eventName: "REMOVE";
dynamodb: {
ApproximateCreationDateTime: number;
Keys: KeySchema;
OldImage: DataSchema;
SequenceNumber: string;
SizeBytes: number;
StreamViewType: string;
};
}
export declare type DynamoDBStreamEventRecord = (DynamoDBStreamInsertEventRecord | DynamoDBStreamModifyEventRecord | DynamoDBStreamRemoveEventRecord);
export interface DynamoDBStreamEvent {
Records: DynamoDBStreamEventRecord[];
}