AWS Certified Solutions Architect – Professional — Question 765
A company is using IoT devices on its manufacturing equipment. Data from the devices travels to the AWS Cloud through a connection to AWS IoT Core. An Amazon Kinesis data stream sends the data from AWS IoT Core to the company's processing application. The processing application stores data in Amazon S3.
A new requirement states that the company also must send the raw data to a third-party system by using an HTTP API.
Which solution will meet these requirements with the LEAST amount of development work?
Answer options
- A. Create a custom AWS Lambda function to consume records from the Kinesis data stream. Configure the Lambda function to call the third-party HTTP API.
- B. Create an S3 event notification with Amazon EventBridge (Amazon CloudWatch Events) as the event destination. Create an EventBridge (CloudWatch Events) API destination for the third-party HTTP API.
- C. Create an Amazon Kinesis Data Firehose delivery stream. Configure an HTTP endpoint destination that targets the third-party HTTP API. Configure the Kinesis data stream to send data to the Kinesis Data Firehose delivery stream.
- D. Create an S3 event notification with an Amazon Simple Queue Service (Amazon SQS) queue as the event destination. Configure the SOS queue to invoke a custom AWS Lambda function. Configure the Lambda function to call the third-party HTTP API.
Correct answer: C
Explanation
Amazon Kinesis Data Firehose natively supports HTTP endpoints as delivery destinations, allowing integration with third-party APIs without writing custom code. Since the data is already flowing through a Kinesis data stream, attaching a Firehose delivery stream to it requires the least development effort. Other options either require writing and maintaining custom AWS Lambda code or introduce unnecessary latency and complexity through S3 event triggers.