aidp-ingest-file-to-table — file → managed Delta table
Land a file into a managed AIDP table, either in one call or via the staged 3-step flow when you need to
review/adjust the inferred schema. This is a control-plane flow on the DataLake schema/tables
resource. Primary engine: the official Oracle aidp CLI (same REST API + auth); oci raw-request is
the fallback when the CLI isn't installed.
When to use
- "Load this CSV/JSON into a table", "create a table from <file>", "ingest <file> into the lakehouse".
CLI (preferred)
Per references/aidp-cli-map.md: schema generate-temp-file-upload-target
→ schema infer / infer-with-preview → schema create-data-table / create-table (also
schema retrieve-par). All commands take --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region <r>.
Mutating ops (create-data-table/create-table, upload): persist the body to .aidp/payloads/
and confirm with the user before running (see references/payloads.md).
Fallback (no CLI) — same REST + auth via oci raw-request against
…/20240831/dataLakes/<OCID>/… (auth ladder in references/oci-raw-request.md):
POST /tables/actions/uploadDataFile (multipart/binary may need PAR upload — see aidp-volumes),
POST /tables/actions/inferSchema, POST /tables/actions/createTable (with catalogKey, schemaKey,
table name, finalized columns, source format, load options), verify GET /tables?catalogKey=<cat>&schemaKey=<cat.schema>.
Verify-first (no-fabrication): the upload/infer/create action shapes are UNVERIFIED in this env (not yet in
references/rest-endpoint-map.md). Confirm with a live probe (start with aGET /tables?catalogKey=…&schemaKey=…200 against the target schema) before any write; record results.
Live-verified 2026-06-10 on de-agent (CSV →
de_ingest_test, 3 rows) — correction: theuploadDataFile/inferSchema/createTableaction names above are WRONG. The working flow is theschema-resource 3-step: (1)generate-temp-file-upload-targetreturns a PAR +ociFilePath; (2) PUT the file bytes to the PAR (HTTP 200); (3)infer-with-preview— itslocationMUST be theociFilePathOCI URI, not theuploadKey(passinguploadKey→ 400); (4)create-data-tablereturns 202 + adatalake-async-operation-key(poll toSUCCEEDED).create-data-tableis HEADERLESS/POSITIONAL:header=trueis ignored at create, sotableFieldsmust use the reader column names_c0/_c1/_c2…— naming themid/name/amtfails the async op withUNRESOLVED_COLUMN. Rename afterward viaALTER TABLE … RENAME COLUMN.
Workflow
- Confirm the source file location (workspace path or volume) and the target
catalog.schema.table(create the schema first if needed). - 1-step (simple):
aidp schema create-tablereferencing the source file, format, and options — fastest when the schema infers cleanly. - 3-step (control):
generate-temp-file-upload-target→infer-with-preview(review columns/types with the user; fix types/headers/delimiters) →create-data-tablewith the finalized columns. - Async: table creation may return
202with an async-operation key — poll until terminal (async convention inreferences/oci-raw-request.md; track viaaidp-observability). - Verify with
aidp schema list-tables/GET /tables?…; report the fully-qualified table name and row/column summary.
Gotchas (documented limits, no workaround)
- Delimited files: comma only — auto-populate "Doesn't support delimiters other than comma" (platform reference §42 Known Issues #15). Pre-convert tab/pipe/semicolon-delimited files to CSV before ingest.
- No multi-line JSON for external tables — "Can't create external tables with multi-line JSON" (platform reference §42 Known Issues #12). Use newline-delimited JSON (one record per line) for external tables.
Notes
- Big files: prefer landing into a volume / object storage and loading from there; mind cluster memory.
- For continuous/streaming or external-source ingestion, use the spark-connectors plugin +
aidp-federate, not this skill (this is file→table). - Clean up temporary tables created during validation.
References
- references/aidp-cli-map.md · references/payloads.md · references/oci-raw-request.md · references/rest-endpoint-map.md
- pairs with
aidp-workspace-files,aidp-volumes,aidp-profiling-tables

