UNPKG

1.37 kBTypeScriptView Raw
1import { Handler } from "../handler";
2
3export type SQSHandler = Handler<SQSEvent, void>;
4
5// SQS
6// https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-function.html#supported-event-source-sqs
7export interface SQSRecord {
8 messageId: string;
9 receiptHandle: string;
10 body: string;
11 attributes: SQSRecordAttributes;
12 messageAttributes: SQSMessageAttributes;
13 md5OfBody: string;
14 eventSource: string;
15 eventSourceARN: string;
16 awsRegion: string;
17}
18
19export interface SQSEvent {
20 Records: SQSRecord[];
21}
22
23export interface SQSRecordAttributes {
24 AWSTraceHeader?: string | undefined;
25 ApproximateReceiveCount: string;
26 SentTimestamp: string;
27 SenderId: string;
28 ApproximateFirstReceiveTimestamp: string;
29 SequenceNumber?: string | undefined;
30 MessageGroupId?: string | undefined;
31 MessageDeduplicationId?: string | undefined;
32}
33
34export type SQSMessageAttributeDataType = 'String' | 'Number' | 'Binary' | string;
35
36export interface SQSMessageAttribute {
37 stringValue?: string | undefined;
38 binaryValue?: string | undefined;
39 stringListValues: never[]; // Not implemented. Reserved for future use.
40 binaryListValues: never[]; // Not implemented. Reserved for future use.
41 dataType: SQSMessageAttributeDataType;
42}
43
44export interface SQSMessageAttributes {
45 [name: string]: SQSMessageAttribute;
46}