Question 20: Your downstream application is able to read data in JSON format to apply analytics on it. From an ecommerce web server farm you created a Kinesis Stream Firehose which stream the web server logs data.

However, before delivering this data to the destination it should be transformed in JSON format, because downstream application can only understand JSON data. Which of the below is an ideal solution for this?

1. You will be creating a Custom JSON converter application using Java, and Kinesis Firehose will use this application as a destination for the data.

2. You will be creating a Custom JSON converter application using Python, and Kinesis Firehose will use this application as a destination for the data.

3. You will be using KPL library to convert data in JSON format.

4. You will be using Lambda Transformation

5. You will be using KCL library to convert data in JSON format.

Correct Answer : 4 Exp : In this question requirement is simple that before storing the data, it should be converted in the JSON format.

Kinesis Data Firehose can invoke Lambda function to transform incoming data and deliver the transformed data to destination. When transformation is enabled Kinesis Data Firehose will buffers the incoming data up to 3

MB by default. And Kinesis Data Firehose then invokes the specified Lambda function asynchronously with each buffered batch using the AWS Lambda synchronous invocation mode. Then this transformed data is sent from

Lambda to Kinesis Data Firehose. Kinesis Data Firehose then sends it to the destination when the specified destination buffering size or buffering interval is reached.

4