github.com/Foodji/aws-lambda-go@v1.20.2/events/README_KinesisFirehose.md (about) 1 # Sample Function 2 3 The following is a sample Lambda function that transforms Kinesis Firehose records by doing a ToUpper on the data. 4 5 ```go 6 7 package main 8 9 import ( 10 "fmt" 11 "strings" 12 13 "github.com/aws/aws-lambda-go/events" 14 "github.com/aws/aws-lambda-go/lambda" 15 ) 16 17 func handleRequest(evnt events.KinesisFirehoseEvent) (events.KinesisFirehoseResponse, error) { 18 19 fmt.Printf("InvocationID: %s\n", evnt.InvocationID) 20 fmt.Printf("DeliveryStreamArn: %s\n", evnt.DeliveryStreamArn) 21 fmt.Printf("Region: %s\n", evnt.Region) 22 23 var response events.KinesisFirehoseResponse 24 25 for _, record := range evnt.Records { 26 fmt.Printf("RecordID: %s\n", record.RecordID) 27 fmt.Printf("ApproximateArrivalTimestamp: %s\n", record.ApproximateArrivalTimestamp) 28 29 // Transform data: ToUpper the data 30 var transformedRecord events.KinesisFirehoseResponseRecord 31 transformedRecord.RecordID = record.RecordID 32 transformedRecord.Result = events.KinesisFirehoseTransformedStateOk 33 transformedRecord.Data = []byte(strings.ToUpper(string(record.Data))) 34 35 response.Records = append(response.Records, transformedRecord) 36 } 37 38 return response, nil 39 } 40 41 func main() { 42 lambda.Start(handleRequest) 43 } 44 45 ```