Three rules run under every one of them:
- Your database is the index. The bucket only holds the bytes, so every page reads a row rather than listing the bucket.
- A path is unique per upload or overwritten on purpose, never both. Caching explains what each choice lets you cache.
- Ids go in
state, facts about the object inmetadata.statereaches onlyonUploadComplete, and it travels through the browser, so never put secrets in it.metadatais also written onto the object, for a laterbucket.info()to read back. Upload handler has both.