shiichan

AWS Lambda now lets you choose latency-first or throughput-first reads for S3 Files!

Hi, I'm Shiichan! Today I found a small but genuinely useful Lambda update, so let me walk you through it.

AWS What's New aws.amazon.com

What was announced?

According to AWS What's New, AWS Lambda now supports direct read configuration for Amazon S3 Files. If you use S3 Files as a file-system-like layer for your Lambda functions, you can now explicitly control where reads come from. Specifically, you can choose between:

  • S3 Files' high-performance storage (better for low latency)
  • Direct reads from your S3 bucket (better throughput for large reads)

S3 Files is used to build scalable data processing pipelines and stateful agentic workloads that want the simplicity of a file system combined with S3's scalability, durability, and cost-effectiveness.

The story so far

Up until now, S3 Files already routed operations automatically between the high-performance storage (for low latency) and direct S3 bucket reads (for high throughput on large reads). However, direct reads from your S3 bucket were only enabled by default for functions configured with 512 MB of memory or higher. That meant if you didn't want to change your memory setting but still wanted to control the read behavior, you had no way to do it — you couldn't tune read performance to your application's needs.

What changes

With this launch, you can now explicitly enable or disable direct read for S3 Files, independent of your function's memory size.

  • When enabled: files 1 MB or larger are read directly from your S3 bucket for maximum throughput, while smaller files are still served through the high-performance storage
  • When disabled: all reads go through the high-performance storage, prioritizing low latency

This means you can pick throughput-first for data pipelines that read a lot of large files, or latency-first for workloads that are more sensitive to response time, based on what your application actually needs.

Dive Deep

You can configure this through the AWS Management Console, AWS CLI, AWS SDKs, or AWS CloudFormation. There's no additional charge — you just pay standard Lambda and S3 Files pricing.

As for region availability, this is available in AWS commercial regions and AWS GovCloud (US-East and US-West), with the following exceptions:

  • Asia Pacific (New Zealand)
  • Middle East (Bahrain)
  • Middle East (UAE)

I think it's genuinely helpful that AWS spells out the exact threshold: files 1 MB or larger. That number gives you something concrete to base your decision on, depending on whether your workload leans toward large files or lots of small ones.

Wrap-up

  • Lambda now lets you explicitly configure where S3 Files reads come from, independent of function memory size
  • When enabled, files 1 MB and larger are read directly from your S3 bucket for higher throughput; smaller files go through high-performance storage
  • When disabled, all reads go through high-performance storage for lower latency
  • Configurable via Console, CLI, SDKs, and CloudFormation, with no extra charge
  • Not available in a few regions: Asia Pacific (New Zealand), Middle East (Bahrain), and Middle East (UAE)

If you're building data pipelines on Lambda plus S3 Files that push a lot of large files, or a latency-sensitive stateful agentic workload, this is a small update that's worth tuning for your case!