From bd0b6d19c6b0240568e6801680be023472e6ccbe Mon Sep 17 00:00:00 2001 From: ZdenekSrotyr Date: Tue, 31 Mar 2026 12:06:38 +0200 Subject: [PATCH] fix: legacy extractor constructs full Keboola table ID from bucket+source_table Was using tc['id'] which is the registry ID (e.g. 'circle'), not the full Keboola ID (e.g. 'in.c-finance.circle') needed by the API. --- connectors/keboola/extractor.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/connectors/keboola/extractor.py b/connectors/keboola/extractor.py index 60f3599..2753005 100644 --- a/connectors/keboola/extractor.py +++ b/connectors/keboola/extractor.py @@ -142,7 +142,10 @@ def _extract_via_legacy( csv_path = tmp.name try: - table_id = tc.get("id", tc["name"]) + # Construct full Keboola table ID: bucket.source_table (e.g., in.c-finance.circle) + bucket = tc.get("bucket", "") + source_table = tc.get("source_table", tc["name"]) + table_id = f"{bucket}.{source_table}" if bucket else tc.get("id", tc["name"]) client.export_table(table_id, Path(csv_path)) # Convert CSV to Parquet using DuckDB