EddytorDocs & API

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:

ErrorMeans
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

A reachable but empty bucket is fine - registration succeeds and reports 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:

FlagDefaultEffect
discover_deltatrueRegister Delta tables found under base_path.
discover_filesfalseRegister standalone Parquet/CSV files as read-only tables.
discover_icebergfalseRegister Iceberg tables.
base_path-Scope discovery to a prefix instead of the whole bucket.

Heads up

In production, set a narrow 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 ids
list_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 change base_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

On this page