object-storage
Browse all articles, tutorials, and guides about object-storage
Posts
Migrating From S3 to Branch-Aware Storage
Neon object storage is S3-compatible, so moving to it is mostly a config change, not a rewrite. Your upload code, your presigned URLs, and your download paths all stay the same. Here is exactly what carries over, the small diff that changes, and a copy script to move the objects, with the honest list of what does not come along.
Stop Standing Up an S3 Bucket Per Preview Environment
Giving every preview environment isolated file storage usually means provisioning a real bucket per environment: policies, IAM, lifecycle rules, credentials, and a teardown job that leaves orphans anyway. When the bucket rides the database branch, that whole apparatus disappears. Here is the difference, tested.
Presigned-URL Uploads From a Serverless Function
Streaming user uploads through your API means the bytes cross your server twice, and serverless functions have request-size limits that make it worse. Presigned URLs let the browser upload straight to object storage while your function just hands out permission. Here it is on a Neon Function, tested end to end.
Object Storage That Branches With Your Database
Database branching gives you a throwaway copy of your rows. But your app also stores files in object storage, and those normally stay in one shared bucket. On Neon a branch forks the bucket too, so each branch gets its own copy of the files. I built a small files API to prove it.