A data engineer needs to ingest data from an external HTTP API into Amazon S3. The API returns JSON data for a list of users, updated hourly. The engineer wants to use a serverless solution with minimal operational overhead. Which AWS service should the engineer use?
AppFlow is serverless and designed for API ingestion.
Why this answer
Amazon AppFlow with an HTTP connector on a scheduled flow is the correct choice because it provides a fully managed, serverless integration that directly connects to external HTTP APIs, retrieves JSON data, and writes it to Amazon S3 on a scheduled basis (e.g., hourly) without requiring any custom code or infrastructure management. This minimizes operational overhead while meeting the ingestion requirements.
Exam trap
The trap here is that candidates often assume AWS Lambda is the default serverless choice for any custom integration, overlooking that AppFlow provides a purpose-built, no-code solution for SaaS and HTTP API ingestion with lower operational overhead.
How to eliminate wrong answers
Option A is wrong because Amazon Kinesis Data Firehose does not support a custom HTTP endpoint as a source; it can only ingest data from Kinesis Data Streams, Amazon CloudWatch, AWS IoT, or custom sources via the Kinesis Agent, not directly from an external HTTP API. Option B is wrong because while an AWS Lambda function triggered by CloudWatch Events can poll an HTTP API and write to S3, it requires custom code for HTTP requests, error handling, and data transformation, increasing operational overhead compared to a managed service like AppFlow. Option D is wrong because AWS Glue ETL jobs are designed for batch data transformation and processing, not for direct ingestion from external HTTP APIs; they would require a custom script to fetch the API data, adding complexity and overhead.