← All concepts
Messaging & flow
Pre-signed uploads
Let clients upload large files straight to object storage using a short-lived signed URL.
Streaming gigabytes through your API servers wastes bandwidth and CPU. Instead the API returns a signed URL that allows one upload to one location for a few minutes; the client sends the file directly to storage.
See it in action
Step through the scenarios on the diagram.
Laying out diagram…
1/3The app asks the API for permission to upload; the API checks the user and returns a URL signed for one object, valid for 10 minutes.
- App
- — Has a 200 MB video to upload
- API
- — Authorises and signs URLs
- Object storage
- — Accepts the signed upload
- Processor
- — Runs when the upload lands
How it works
- Multipart/resumable uploads for big files; chunk hashes enable dedupe.
- A storage event or client callback triggers processing afterwards.
Trade-offs
- The server must validate the file after upload (type, size, malware).