Backbone Blobs
Binary object storage. Files are addressed as bucket/key (a bare name lands in the default bucket):
drift.Backbone.Blob.Put("uploads/photo.jpg", data, "image/jpeg")
photo, _ := drift.Backbone.Blob.Get("uploads/photo.jpg")drift backbone blob put uploads photo.jpg ./photo.jpg
drift backbone blob get uploads photo.jpg > downloaded.jpg
drift backbone blob list uploads
drift backbone blob delete uploads photo.jpgKeys with slashes hide from listings
The SDK splits the name on its first slash, so Put("submissions/case-1/file.pdf", …) stores bucket submissions, key case-1/file.pdf, and the key becomes a subdirectory on disk. blob list reads only the top level of a bucket and skips directories, so that blob never appears in drift backbone blob list submissions. A slice snapshot captures blobs by walking the same listing, so it is absent from the archive too. Keep keys flat if you want them listed and backed up.
A bucket name takes alphanumerics plus ., _ and -, first character alphanumeric, up to 255 bytes, and no slashes. A key takes the same set plus /, up to 513 bytes. Neither may contain ... A name outside the charset fails the put with 500, not 400.
Content type is not returned
The content type you pass is recorded alongside the blob and never read back. Get returns the decrypted bytes with no Content-Type header, so a browser fetching a blob gets no type information from the platform. Set the header yourself in the function that serves the file.