Overview
With S3 Object Lambda, you can add your own code to S3 GET, HEAD, and LIST requests to modify and process data as it is returned to an application. You can use custom code to modify the data returned by S3 GET requests to filter rows, dynamically resize images, redact confidential data, and much more. You can also use S3 Object Lambda to modify the output of S3 LIST requests to create a custom view of objects in a bucket and S3 HEAD requests to modify object metadata like object name and size. Powered by AWS Lambda functions, your code runs on infrastructure that is fully managed by AWS, eliminating the need to create and store derivative copies of your data or to run expensive proxies, all with no changes required to your applications.
S3 Object Lambda uses AWS Lambda functions to automatically process the output of a standard S3 GET, HEAD, and LIST request. With just a few clicks in the AWS Management Console, you can configure a Lambda function and attach it to a S3 Object Lambda Access Point. From that point forward, S3 will automatically call your Lambda function to process any data retrieved through the S3 Object Lambda Access Point, returning a transformed result back to the application. You can author and execute your own custom Lambda functions, tailoring S3 Object Lambda’s data transformation to your specific use case.
Benefits
How does S3 Object Lambda work?
S3 Object Lambda helps you to easily meet the unique data format requirements of any application without having to build and operate additional infrastructure, such as a proxy layer, or having to create and maintain multiple derivative copies of your data. S3 Object Lambda uses AWS Lambda functions to automatically process the output of a standard S3 GET, HEAD, and LIST request. AWS Lambda is a serverless compute service that runs customer-defined code without requiring management of underlying compute resources.
With just a few clicks in the AWS Management Console, you can configure a Lambda function and attach it to a S3 Object Lambda Access Point. Standard S3 GET, HEAD, and LIST requests made through an S3 Object Lambda Access Point will now invoke the specified Lambda function. From that point forward, S3 will automatically call your Lambda function to process any data retrieved through the S3 Object Lambda Access Point, returning a transformed result back to the application. You can author and execute your own custom Lambda functions, tailoring S3 Object Lambda’s data transformation to your specific use case. To learn more read the S3 Object Lambda user guide.
S3 Object Lambda use case: Redacting sensitive data
S3 Object Lambda can be used to redact sensitive information from an object in S3 for specific applications, without changing the existing object or creating and maintaining multiple derivative copies of the data. The Lambda function will retrieve the object from a standard S3 GET request, process the data to remove the sensitive details, and return the redacted object to the application. To learn more about other use cases, read the S3 Object Lambda user guide.
Customers
-
Pixieset
Pixieset is an all-in-one platform for modern photographers, offering photo client galleries, websites, online stores and studio management software tools.
Pixieset transforms images on-the-fly with Amazon S3 Object Lambda
-
Audible
Audible is the leading creator and provider of premium audio storytelling, offering customers a new way to enhance and enrich their lives every day. Audible content includes more than 790,000 audiobooks, podcasts, and Audible Originals. Audible has millions of members around the world who subscribe to one of 10 localized services designed for customers in Australia, Canada, France, Germany, India, Italy, Japan, Spain, the UK, and the US.
Blog: How Audible uses Amazon S3 Object Lambda to improve streaming playback performance
-
Trend Micro
Trend Micro, a global cybersecurity leader, helps make the world safe for exchanging digital information. Fueled by decades of security expertise, global threat research, and continuous innovation, Trend Micro's cybersecurity platform protects hundreds of thousands of organizations and millions of individuals across clouds, networks, devices, and endpoints. Trend Micro’s cybersecurity platform delivers a powerful range of advanced threat defense techniques optimized for AWS.
Blog: How Trend Micro uses Amazon S3 Object Lambda to help keep sensitive data secure
-
Druva
Druva delivers data protection and management across endpoints, data centers and cloud workloads eliminating dependence on complex infrastructure and time-consuming administration.
-
Nasuni
Nasuni is disrupting file storage with a cloud based approached backed by Amazon S3 replacing traditional on-premises primary and secondary storage. Nasuni delivers a file storage platform using object storage delivering a simpler, lower cost, and more efficient cloud solution that scales to handle rapid unstructured data growth.
-
PetaGene
PetaGene was founded in Cambridge, the birthplace of genomics, to address the rapidly growing data management problems of the genomics industry. PetaGene has become known for the industry-leading performance and usability of its genomic compression and encryption solutions — the company's software now provides encryption, selective data sharing and auditing solutions for all kinds of data, and these solutions also benefit from the same seamless transparent access methods.
S3 Object Lambda resources
S3 Object Lambda blogs
Get started
S3 Object Lambda can be set up in the S3 Management Console, with three simple steps. First, navigate to the Object Lambda Access Point tab on console. Second, create an S3 Object Lambda Access Point and in its configuration provide a name for this resource, the Lambda function to invoke against your S3 GET, HEAD, or LIST requests, and a supporting S3 Access Point. There are example Lambda function implementations in the AWS documentation to help you get started with the service. Lastly, update your SDK and application to use the new S3 Object Lambda Access Point to retrieve data from S3 using the language SDK of your choice. S3 Object Lambda will begin to process your standard S3 GET, HEAD, and LIST requests.
Access the S3 Object Lambda getting started tutorial and read the user guide for more information on how to get started.