Process drone imagery on your workstation, automate files arriving in a local archive, or test a cloud storage-event pipeline locally. Local and cloud automations use the same StorageEventTask interface, so a watched folder can stand in for a cloud bucket during development.

Register a directory, start the CLI watcher, and run tasks when matching files arrive. You can process the imagery where it already lives, without uploading it to a cloud bucket first.

This example starts a job for each of three JPGs copied into a watched folder. A local runner then creates a thumbnail and writes a JSON report with image dimensions.

Three JPGs arrive in a watched local folder. The recording shows thumbnail generation, JSON reports, and matching events in the Console.

The images and outputs stay on your workstation. The watcher and runner need a connection to Tilebox, which hosts the events, jobs, and logs.

The example reads through self.trigger.storage, which handles local files, S3, Google Cloud Storage, and Azure Blob Storage. Inside the task, the read stays the same:

key = self.trigger.location
# Local or cloud: the same client.
storage = self.trigger.storage
data = storage.read(key)
make_thumbnail(
    data, key, self.output_dir
)

For a cloud run, connect the bucket and give the runner access. Storage notifications replace the local watcher, and the workflow code can stay the same across environments.

Try the local storage example

Three sample photos and runnable setup commands.

Set up a local storage automation

Register a directory, start the watcher, and connect a task runner.