How registration works
Registration probes the store, discovers tables, and returns a config_id you reuse everywhere.
Registering a storage connection does three things: probes the store (so
misconfiguration fails fast), discovers the tables already in it, and returns
a config_id you'll use for table and object operations.
By default the configuration is personal - only you see it. To share it with a
team, register it into a workspace (workspaceId /
--workspace) or promote it later - see
Shared storage configurations.
The probe - fails fast, with a reason
Registration tests the store before saving anything, so you get a specific reason instead of a generic discovery error:
| Error | Means |
|---|---|
authentication failed … | Credentials rejected. |
storage path or bucket not found … | Wrong bucket/container or base path. |
could not reach storage … | Network/endpoint problem. |
Good to know
0 tables. You don't need existing tables to connect.Discovery
On registration (and whenever you update a config) Eddytor scans the store and registers what it finds:
| Flag | Default | Effect |
|---|---|---|
discover_delta | true | Register Delta tables found under base_path. |
discover_files | false | Register standalone Parquet/CSV files as read-only tables. |
discover_iceberg | false | Register Iceberg tables. |
base_path | - | Scope discovery to a prefix instead of the whole bucket. |
Heads up
base_path so discovery
doesn't scan an entire bucket. Files discovered via discover_files are
read-only - only Delta tables are writable.The config_id
After registering, grab the connection's id - it's the config_id that
object tools and move_table need:
eddytor get storage # lists configs with their idslist_storage_configs()
# -> [{ id, name, path, scheme_type, created_at, discovery_config }]Config names default to the bucket name (S3/GCS) or {account}-{container}
(Azure).
Updating & removing
- Re-run discovery / pick up more tables:
update_storage_config(config_id, discover_files=true)(or changebase_path). - Remove a connection:
delete_storage_config(config_id)- this is a soft delete that only deregisters tables; it never deletes the bucket data.
Next
- Pick your backend: S3 · GCS · Azure Blob.