You need to score a whole dataset in S3 with no persistent endpoint. What fits?
Why B is the answer
Batch transform
Batch transform runs offline over a dataset.
In detail
- Batch transform scores a dataset with no persistent endpoint.
- Compute exists only during the job.
Use case
An illustrative scenario, not a real incident.
A team scores 10 million rows in S3 each month with batch transform, and nothing stays running.
See it in different ways
flowchart TD
A{"Traffic pattern"} -->|"Steady, low latency"| B["Real-time endpoint"]
A -->|"Sporadic, idle gaps"| C["Serverless inference"]
A -->|"Long jobs, large payloads"| D["Asynchronous inference"]
A -->|"A whole dataset offline"| E["Batch transform"]stateDiagram-v2 [*] --> Traffic Traffic --> RealTime: steady and low latency Traffic --> Serverless: sporadic, cold starts are fine Traffic --> Asynchronous: large payloads, long runs Traffic --> BatchTransform: a whole dataset
flowchart LR S0["Input in S3"] --> S1["Batch transform"] --> S2["Output in S3"]
Key point: Batch transform scores whole datasets.
Why the other options are wrong
- A. A Lambda function holding the whole dataset
- Lambda cannot hold a whole dataset.
- C. A real-time endpoint called for each row
- That keeps an endpoint running.
- D. Serverless inference with one call for each row
- One call per row is slow.

