Getting Startedbasic5 minute guide

Asynchronous File Processing Pipeline on AWS

This design accepts uploads immediately and lets workers process them at a controlled rate. S3 protects the source file, SQS absorbs bursts and retries, Lambda performs bounded work, and separate result and status stores make completion observable.

Open editable diagram

Published August 18, 2026

Reference architecture

Architecture diagram

Edit this exact diagram
Asynchronous AWS file processing architecture diagram with S3 input, SQS queue, Lambda processor, S3 results, and DynamoDB statusOpen on the canvas

Asynchronous AWS file processing architecture diagram with S3 input, SQS queue, Lambda processor, S3 results, and DynamoDB status. The image links to a fully editable BuildPlane starter.

Overview

An asynchronous pipeline that accepts files quickly and processes them at a controlled pace. S3 provides durable input, SQS absorbs bursts, Lambda performs the work, and separate result and status stores make completion easy to inspect.

Components

  • Incoming Files: An S3 landing bucket durably accepts uploads before any processing begins.
  • Processing Queue: SQS separates upload volume from worker throughput and keeps pending jobs retryable.
  • File Processor: Lambda validates and transforms each queued file without a permanently running server.
  • Results and Status: S3 stores processed output while DynamoDB records the state of each file.

Processing Flow

  1. A user or application uploads a file to the incoming S3 bucket.
  2. The upload produces a job message in the SQS processing queue.
  3. Lambda receives a queued job and processes the referenced file.
  4. The worker stores output in S3 and updates processing status in DynamoDB.

Customize First

  • Add a dead-letter queue before handling untrusted or repeatedly failing files.
  • Define object-size limits, retry behavior, and idempotency for the worker.
  • Add notifications when callers need completion events instead of polling status.

Design rationale

Decisions that shape this architecture

1

Store the file before scheduling work

S3 becomes the durable source of truth. Queue messages carry an object reference rather than the file payload, keeping messages small and retries safe.

2

Use SQS as the pressure boundary

The queue decouples upload rate from worker concurrency. Lambda can scale within downstream limits while excess jobs wait durably.

3

Track status separately from binary output

DynamoDB records job state and errors while S3 holds the processed file. Callers can inspect progress without listing or parsing storage objects.

Before production

Operational checks

Configure a dead-letter queue and an explicit redrive procedure.

Make processing idempotent for duplicate S3 events and SQS delivery.

Set visibility timeout longer than the expected processing duration.

Validate file type, size, and content before trusted downstream use.

Scope and tradeoffs

What this diagram does not solve

Lambda is not ideal for every file

Large, memory-heavy, GPU-based, or very long jobs may fit ECS, AWS Batch, MediaConvert, or another specialized service better.

The starter does not include caller notification

Add SNS, EventBridge, WebSocket delivery, or a callback mechanism when clients should not poll the status table.

Common questions

Frequently asked questions

Why put SQS between S3 and Lambda?

SQS buffers bursts, controls retry behavior, and lets worker concurrency be tuned independently from upload volume.

Should the file itself be placed in SQS?

No. Store the file in S3 and place the bucket, object key, version, and required job metadata in the message.

How should failed files be handled?

Record a terminal status, retain diagnostic context, move poison messages to a dead-letter queue, and provide an explicit replay or operator-review path.

Keep exploring

View all 17 guides
Serverless REST API AWS architecture diagram with API Gateway, AWS Lambda, DynamoDB, and CloudWatch
Getting Startedbasic

Serverless REST API Architecture on AWS

This architecture is the smallest useful serverless API baseline: a managed HTTPS entry point, stateless function compute, on-demand data storage, and observable execution. It is intentionally compact so the first production decisions remain easy to see.

Explore the architecture

From reference to working draft

Adapt this architecture with your AWS AI Agent

Start from the exact diagram in this guide. Change requirements, challenge a decision, or ask what fails first, while keeping the architecture editable.

Open editable diagram