KinesisFireHoseSqsEvent: {
    deliveryStreamArn: string;
    invocationId: string;
    records: {
        approximateArrivalTimestamp: number;
        data: {
            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;
        };
        kinesisRecordMetadata?: | null
        | {
            approximateArrivalTimestamp: number;
            partitionKey: string;
            sequenceNumber: string;
            shardId: string;
            subsequenceNumber: number;
        };
        recordId: string;
    }[];
    region: string;
    sourceKinesisStreamArn?: string;
}

Zod schema for Kinesis Firehose events with SQS records

Type declaration

  • deliveryStreamArn: string
  • invocationId: string
  • records: {
        approximateArrivalTimestamp: number;
        data: {
            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;
        };
        kinesisRecordMetadata?: | null
        | {
            approximateArrivalTimestamp: number;
            partitionKey: string;
            sequenceNumber: string;
            shardId: string;
            subsequenceNumber: number;
        };
        recordId: string;
    }[]
  • region: string
  • OptionalsourceKinesisStreamArn?: string
{
"invocationId": "556b67a3-48fc-4385-af49-e133aade9cb9",
"deliveryStreamArn": "arn:aws:firehose:us-east-1:123456789012:deliverystream/PUT-S3-tdyyE",
"region": "us-east-1",
"records": [
{
"recordId": "49640912821178817833517986466168945147170627572855734274000000",
"approximateArrivalTimestamp": 1684864917398,
"data": "eyJtZXNzYWdlSWQiOiI1YWI4MDdkNC01NjQ0LTRjNTUtOTdhMy00NzM5NjYzNWFjNzQiLCJyZWNlaXB0SGFuZGxlIjoiQVFFQndKbkt5ckhpZ1VNWmo2cllpZ0NneGxhUzNTTHkwYS4uLiIsImJvZHkiOiJUZXN0IG1lc3NhZ2UuIiwiYXR0cmlidXRlcyI6eyJBcHByb3hpbWF0ZVJlY2VpdmVDb3VudCI6IjEiLCJTZW50VGltZXN0YW1wIjoiMTY4NDg2NDg1MjQ5MSIsIlNlbmRlcklkIjoiQUlEQUlFTlFaSk9MTzIzWVZKNFZPIiwiQXBwcm94aW1hdGVGaXJzdFJlY2VpdmVUaW1lc3RhbXAiOiIxNjg0ODY0ODcyNDkxIn0sIm1lc3NhZ2VBdHRyaWJ1dGVzIjp7fSwibWQ1T2ZNZXNzYWdlQXR0cmlidXRlcyI6bnVsbCwibWQ1T2ZCb2R5IjoiYzhiNmJjNjBjOGI4YjNhOTA0ZTQ1YzFmYWJkZjUyM2QiLCJldmVudFNvdXJjZSI6ImF3czpzcXMiLCJldmVudFNvdXJjZUFSTiI6ImFybjphd3M6c3FzOnVzLWVhc3QtMToyMDA5ODQxMTIzODY6U05TIiwiYXdzUmVnaW9uIjoidXMtZWFzdC0xIn0K"
}
]
}