S3-style bucket/object API for file storage.
# Create a bucket
db.create_bucket("avatars")
# Upload an object
db.put_object("avatars", "user-123.png", image_bytes,
content_type="image/png",
metadata={"user_id": "123"})
# Download
obj = db.get_object("avatars", "user-123.png")
# List objects with prefix
objects = db.list_objects("avatars", prefix="user-", limit=100)
# Head (metadata only)
meta = db.head_object("avatars", "user-123.png")
| Method | Description |
|---|---|
create_bucket(name) | Create a named bucket |
put_object(bucket, key, data, content_type, metadata) | Store object with metadata |
get_object(bucket, key) | Retrieve object data and metadata |
head_object(bucket, key) | Get metadata without body |
delete_object(bucket, key) | Remove object |
list_objects(bucket, prefix, limit) | List objects with prefix filtering |
list_buckets() | List all buckets |
delete_bucket(name) | Remove bucket and contents |
Objects include content-type, custom metadata, ETag (CRC32), creation timestamp, and size. Encrypted with AES-256-GCM when encryption is enabled.