- Support
- Integrations
- Data Flow
Data Flow
Oracle Cloud integration · 20 node(s).
00Overview
Run Oracle Cloud Data Flow — Oracle's managed Apache Spark service — straight from a flow. Define and update Spark applications, launch runs and follow them through to completion, pull a run's log files back as text, and wire private endpoints so Spark can reach resources on a private network. For interactive work, submit statements to a running Spark session and list, check or cancel them as they go.
Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.
01Connecting Data Flow
- Choose how to connect with the Authentication dropdown. Connect Oracle Cloud is the simplest path — Flomation manages the Oracle Cloud connection for you, so there is no private key to enter. API signing key (advanced) lets you supply your own key instead.
- For Connect Oracle Cloud, add an Oracle Cloud connection in your Flomation environment and follow its prompts to authorise it, then confirm it works before using it in a node.
- Back in the node, leave Authentication on Connect Oracle Cloud and pick your connection in the Oracle Cloud connection field.
- To use your own key instead, sign in to the Oracle Cloud Console, open the Profile menu → My profile → API keys → Add API key, let Oracle generate the pair and download the private key. From the Configuration file preview Oracle then shows, copy
tenancy→ Tenancy OCID,user→ User OCID,fingerprint→ Key Fingerprint andregion→ Region (a plain region key such asuk-london-1). - Set the Compartment OCID on every action to the compartment your Data Flow applications and runs live in — open Identity & Security → Compartments in the console to copy its OCID.
- For the advanced key method, store the downloaded private key as a Flomation environment secret (e.g.
dataflow_secret) and select it in the node's Private Key (PEM) field; if the key is passphrase-protected, add the passphrase as a secret too and pick it in Private Key Passphrase.
| Field | Type | Details | |
|---|---|---|---|
| Authentication | string | Connect Oracle Cloud, API signing key (advanced) | |
| Oracle Cloud connection | credential | Pick a connected Oracle Cloud account | |
| Region | string | e.g. uk-london-1 | |
| Private Key (PEM) | secret | The API signing private key — full PEM, incl. BEGIN/END lines | |
| Private Key Passphrase | secret | Only if the key is encrypted (optional) | |
| Tenancy OCID | string | ocid1.tenancy.oc1..aaaa… | |
| User OCID | string | ocid1.user.oc1..aaaa… | |
| Key Fingerprint | string | aa:bb:cc:… fingerprint of the uploaded API key |
Pick an Environment on your flow (Flow Settings → Environment) so the secret resolves. Secret fields never show the value — they reference ${secrets.your_secret}.
02Application
OCI Data Flow: Change Application Compartment
oracle/dataflow/application_change_compartment · Action
Move a Data Flow application into a different compartment — the application keeps its OCID, only its compartment placement changes.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Application OCID | string | Required | ocid1.dataflowapplication.oc1..aaaa… (the application to move) |
| Destination Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… (where to move the application) |
Returns: tool_result, id, destination_compartment_id, success, error
OCI Data Flow: Create Application
oracle/dataflow/application_create · Action
Create a Data Flow application — a reusable Apache Spark job template fixing the driver/executor shapes, executor count, Spark version, language and the object-storage URI of the Spark program.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Display Name | string | Required | A name for the application |
| Driver Shape | string | Required | e.g. VM.Standard.E4.Flex |
| Executor Shape | string | Required | e.g. VM.Standard.E4.Flex |
| Number of Executors | string | Required | e.g. 1 |
| Spark Version | string | Required | e.g. 3.5.0 |
| Language | string | Required | The Spark language — choices: Scala, Python, Java, SQL |
| File URI | string | Required | oci://bucket@namespace/path/to/app.py — the Spark program object-storage URI |
Returns: tool_result, application, id, lifecycle_state, success, error
OCI Data Flow: Delete Application
oracle/dataflow/application_delete · Action
Delete a Data Flow application by its OCID — its Spark definition is removed and can no longer be run.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Application OCID | string | Required | ocid1.dataflowapplication.oc1..aaaa… of the application to delete |
Returns: tool_result, id, success, error
OCI Data Flow: Get Application
oracle/dataflow/application_get · Action
Fetch a single Data Flow application by its OCID — its language, Spark version, executor sizing and lifecycle state.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Application OCID | string | Required | ocid1.dataflowapplication.oc1..aaaa… |
Returns: tool_result, application, id, lifecycle_state, success, error
OCI Data Flow: List Applications
oracle/dataflow/application_list · Action
List the Data Flow applications in a compartment. Optionally filter by exact display name and cap the page size. Walks pagination up to a safe limit.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… (use the tenancy OCID for the root) |
| Display Name Filter | string | Only applications with this exact name (optional) | |
| Page Size | string | Max applications per page (optional) |
Returns: tool_result, applications, count, truncated, success, error
OCI Data Flow: Update Application
oracle/dataflow/application_update · Action
Partially update a Data Flow application — change only the display name or number of executors you supply; blank fields are left unchanged.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Application OCID | string | Required | ocid1.dataflowapplication.oc1..aaaa… — the application to update |
| Display Name | string | New name (leave blank to keep unchanged) | |
| Number of Executors | string | New executor VM count (leave blank to keep unchanged) |
Returns: tool_result, application, id, success, error
03Private
OCI Data Flow: Create Private Endpoint
oracle/dataflow/private_endpoint_create · Action
Create a Data Flow private endpoint into a VCN subnet so Spark can reach private resources by their DNS zone names. Returns a work-request id — poll Get Private Endpoint until ACTIVE.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Subnet OCID | string | Required | ocid1.subnet.oc1..aaaa… — the VCN subnet to attach into |
| DNS Zones (comma-separated) | string | Required | e.g. app.examplecorp.com, db.examplecorp.com |
| Display Name | string | A name for the private endpoint (optional) |
Returns: tool_result, work_request_id, success, error
OCI Data Flow: Delete Private Endpoint
oracle/dataflow/private_endpoint_delete · Action
Delete a Data Flow private endpoint by its OCID — returns a work-request ID that tracks the teardown.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Private Endpoint OCID | string | Required | ocid1.dataflowprivateendpoint.oc1..aaaa… of the private endpoint to delete |
Returns: tool_result, id, work_request_id, success, error
OCI Data Flow: Get Private Endpoint
oracle/dataflow/private_endpoint_get · Action
Fetch a single Data Flow private endpoint by its OCID — its subnet, DNS zones, host count and lifecycle state.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Private Endpoint OCID | string | Required | ocid1.dataflowprivateendpoint.oc1..aaaa… |
Returns: tool_result, private_endpoint, id, lifecycle_state, success, error
OCI Data Flow: List Private Endpoints
oracle/dataflow/private_endpoint_list · Action
List the Data Flow private endpoints in a compartment. Optionally filter by exact display name or lifecycle state, and cap the page size. Walks pagination up to a safe cap.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… (use the tenancy OCID for the root) |
| Display Name Filter | string | Only private endpoints with this exact name (optional) | |
| Lifecycle State | string | Filter by state (optional) — choices: Creating, Active, Inactive, Updating, Deleting, Deleted, Failed | |
| Page Size Limit | string | Max results per page (optional) |
Returns: tool_result, private_endpoints, count, truncated, success, error
04Run
OCI Data Flow: Create Run
oracle/dataflow/run_create · Action
Launch a run of a Data Flow application — one execution of its Spark job. Optionally override the display name. Returns the run, which starts in ACCEPTED; poll Get Run until it reaches SUCCEEDED or FAILED.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Application OCID | string | Required | ocid1.dataflowapplication.oc1..aaaa… — the application to run |
| Display Name | string | A name for the run (defaults to the application's, optional) |
Returns: tool_result, run, id, lifecycle_state, success, error
OCI Data Flow: Delete Run
oracle/dataflow/run_delete · Action
Cancel and delete a Data Flow run by its OCID — the Spark job stops and its resources are released.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… of the run to cancel/delete |
Returns: tool_result, id, success, error
OCI Data Flow: Get Run
oracle/dataflow/run_get · Action
Fetch a single Data Flow run by its OCID — its application, language, lifecycle state and duration.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… |
Returns: tool_result, run, id, lifecycle_state, success, error
OCI Data Flow: List Runs
oracle/dataflow/run_list · Action
List the Spark runs in a compartment. Optionally filter by application, exact display name or lifecycle state, and cap the page size. Walks pagination up to a safe cap.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… (use the tenancy OCID for the root) |
| Application OCID Filter | string | Only runs of this application (optional) | |
| Display Name Filter | string | Only runs with this exact name (optional) | |
| Lifecycle State | string | Filter by run state (optional) — choices: Accepted, In Progress, Canceling, Canceled, Failed, Succeeded, Stopping, Stopped | |
| Page Size | string | Max results per page (optional) |
Returns: tool_result, runs, count, truncated, success, error
OCI Data Flow: Get Run Log
oracle/dataflow/run_log_get · Action
Fetch the content of a single named log file from a Data Flow run, returned as text.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… |
| Log File Name | string | Required | e.g. spark_driver_stdout.log.gz |
Returns: tool_result, content, content_type, content_length, success, error
OCI Data Flow: Update Run
oracle/dataflow/run_update · Action
Partially update a Data Flow run — change only the maximum duration, SESSION idle timeout or free-form tags you supply; blank fields are left unchanged (a run's display name and other properties are immutable once launched).
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… — the run to update |
| Max Duration (minutes) | string | Terminate the run after this many minutes IN_PROGRESS (leave blank to keep unchanged) | |
| Idle Timeout (minutes) | string | SESSION runs only — stop after this much inactivity (leave blank to keep unchanged) | |
| Free-form Tags (JSON) | text | {"Department":"Finance"} — replaces existing tags (leave blank to keep unchanged) |
Returns: tool_result, run, id, lifecycle_state, success, error
05Statement
OCI Data Flow: Submit Statement
oracle/dataflow/statement_create · Action
Submit an interactive statement (a block of Spark code) to a running Data Flow SESSION run and return the created statement.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… (a SESSION run) |
| Statement Code | text | Required | e.g. println(sc.version) |
Returns: tool_result, statement, id, success, error
OCI Data Flow: Cancel Statement
oracle/dataflow/statement_delete · Action
Cancel an interactive statement running against a Data Flow session run.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… of the session run |
| Statement ID | string | Required | The numeric ID of the statement to cancel |
Returns: tool_result, id, success, error
OCI Data Flow: Get Statement
oracle/dataflow/statement_get · Action
Fetch a single interactive statement on a Data Flow session run — its lifecycle state and progress.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… |
| Statement ID | string | Required | The numeric statement ID, e.g. 1 |
Returns: tool_result, statement, id, lifecycle_state, success, error
OCI Data Flow: List Statements
oracle/dataflow/statement_list · Action
List the interactive statements submitted against a Data Flow session run. Optionally filter by lifecycle state. Walks pagination up to a safe cap.
| Field | Type | Details | |
|---|---|---|---|
| Compartment OCID | string | Required | ocid1.compartment.oc1..aaaa… (use the tenancy OCID for the root) |
| Run OCID | string | Required | ocid1.dataflowrun.oc1..aaaa… (the session run to list statements for) |
| Lifecycle State | string | Filter to statements in this state (optional) — choices: Accepted, In Progress, Succeeded, Failed, Cancelling, Cancelled |
Returns: tool_result, statements, count, truncated, success, error
06Notes & Limitations
Behaviours and constraints worth knowing before you build with these nodes.
- Launched runs and newly created private endpoints come up asynchronously — a run begins in
ACCEPTEDand a private endpoint inCREATING, so poll Get Run until the run finishes or Get Private Endpoint until it isACTIVEbefore a later step depends on it. - Interactive statements can only be submitted to a run of type
SESSION; a run launched to execute an application's Spark job runs once and does not accept statements. - List actions stop after an internal page cap and flag the result as truncated, so a very large compartment can return a partial set — narrow the results with the display-name or lifecycle-state filter rather than expecting a single call to return everything.
- Update actions change only the fields you fill and leave the rest untouched, and a run is largely fixed once launched — only its maximum duration, session idle timeout and free-form tags can still be changed afterwards.
- Each connection reaches only the single region it was set up for, so working with a compartment in another region requires a separate connection pointed at that region.