S3 Object Lambda lets you transform S3 objects on-the-fly using a Lambda function before they are returned to the requesting application — without changing the original stored file.
Different applications often need different versions of the same data.
Without Object Lambda:
Store original + redacted version + enriched version + converted version
= Multiple copies, extra storage cost, sync issues
With Object Lambda:
Store ONE original file
Transform dynamically based on who is requesting
= One copy, no duplication, always in sync

Application requests object
|
v
Object Lambda Access Point
|
v
Lambda function transforms the object
|
v
Modified object returned to application
Original file in S3 stays unchanged
One S3 bucket stores the original customer record. Three different applications access the same object and each gets a different output.
S3 Bucket (original data)
|
|-- E-commerce App --> gets original object directly (full data)
|
|-- Analytics App --> Redacting Lambda removes PII before returning
| (SSN, email hidden for privacy/compliance)
|
|-- Marketing App --> Enriching Lambda adds loyalty data from a database
(order data + loyalty points + customer tier)
All three read from the same single object. The original never changes.
Data privacy — redact PII (names, SSN, email) for analytics teams who should not see personal data.
Format conversion — store as XML, return JSON to one app and CSV to another.