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  ```