SqsEvent: {
    Records: {
        attributes: {
            ApproximateFirstReceiveTimestamp: string;
            ApproximateReceiveCount: string;
            AWSTraceHeader?: string;
            DeadLetterQueueSourceArn?: string;
            MessageDeduplicationId?: string;
            MessageGroupId?: string;
            SenderId: string;
            SentTimestamp: string;
            SequenceNumber?: string;
        };
        awsRegion: string;
        body: string;
        eventSource: "aws:sqs";
        eventSourceARN: string;
        md5OfBody: string;
        md5OfMessageAttributes?: null
        | string;
        messageAttributes: Record<
            string,
            {
                binaryListValues?: string[];
                binaryValue?: string;
                dataType: string;
                stringListValues?: string[];
                stringValue?: string;
            },
        >;
        messageId: string;
        receiptHandle: string;
    }[];
}

Zod schema for SQS event

Type declaration

  • Records: {
        attributes: {
            ApproximateFirstReceiveTimestamp: string;
            ApproximateReceiveCount: string;
            AWSTraceHeader?: string;
            DeadLetterQueueSourceArn?: string;
            MessageDeduplicationId?: string;
            MessageGroupId?: string;
            SenderId: string;
            SentTimestamp: string;
            SequenceNumber?: string;
        };
        awsRegion: string;
        body: string;
        eventSource: "aws:sqs";
        eventSourceARN: string;
        md5OfBody: string;
        md5OfMessageAttributes?: null
        | string;
        messageAttributes: Record<
            string,
            {
                binaryListValues?: string[];
                binaryValue?: string;
                dataType: string;
                stringListValues?: string[];
                stringValue?: string;
            },
        >;
        messageId: string;
        receiptHandle: string;
    }[]
{
"Records": [
{
"messageId": "059f36b4-87a3-44ab-83d2-661975830a7d",
"receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...",
"body": "Test message.",
"attributes": {
"ApproximateReceiveCount": "1",
"SentTimestamp": "1545082649183",
"SenderId": "AIDAIENQZJOLO23YVJ4VO",
"ApproximateFirstReceiveTimestamp": "1545082649185"
},
"messageAttributes": {
"testAttr": {
"stringValue": "100",
"binaryValue": "base64Str",
"dataType": "Number"
}
},
"md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3",
"eventSource": "aws:sqs",
"eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue",
"awsRegion": "us-east-2"
},
{
"messageId": "2e1424d4-f796-459a-8184-9c92662be6da",
"receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...",
"body": "{\"message\": \"foo1\"}",
"attributes": {
"ApproximateReceiveCount": "1",
"SentTimestamp": "1545082650636",
"SenderId": "AIDAIENQZJOLO23YVJ4VO",
"ApproximateFirstReceiveTimestamp": "1545082650649",
"DeadLetterQueueSourceArn": "arn:aws:sqs:us-east-2:123456789012:my-queue-dead"
},
"messageAttributes": {},
"md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3",
"eventSource": "aws:sqs",
"eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue",
"awsRegion": "us-east-2"
}
]
}