Skip to main content
Version: 3.0

Microsoft Fabric (OneLake) Nodes

Append rows to lakehouse Delta tables, and write, read, list and delete files and create directories in a Microsoft Fabric lakehouse, over the ADLS Gen2 endpoint.

Needs
A Microsoft Fabric (OneLake) connection
Operations
Append to Table · Write · Read · List Paths · Create Directory · Delete Path
Limits
Binary payloads need Input Format base64

Microsoft Fabric OneLake nodes let pipelines write rows into lakehouse tables and read and write files in a Fabric lakehouse over the ADLS Gen2 endpoint. Use them to stream OT data into Delta tables, land payloads and Parquet inputs, list and create directories, and clean up processed files. All six node types connect through your configured Microsoft Fabric (OneLake) connections.

Configuration Quick Reference​

FieldWhat you chooseDetails
ParametersConnection, Function, Function Parameters, Timeout OverrideSelect the connection profile, function, configure function parameters with expression support, and optionally override timeout.
SettingsDescription, Timeout (seconds), Retry on Timeout, Retry on Fail, On ErrorNode description, maximum execution time, retry behavior on timeout or failure, and error handling strategy. All execution settings default to pipeline-level values.

Table Operations​

OneLake Append to Table Node​

Write pipeline rows into a Delta table under Tables/. The node writes the Parquet data file and the _delta_log commit itself, so the rows are queryable from the Lakehouse, its SQL analytics endpoint and Power BI Direct Lake when the node finishes; there is no Load to Tables step. The first write creates the table.

Supported Function Types:

Function NamePurposeCommon Use Cases
Append to TableAppend rows to a lakehouse Delta tableStreaming UNS readings into a table for Fabric AI and analytics, feeding Power BI Direct Lake reports

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesMicrosoft Fabric (OneLake) connection profile to use
FunctionSelectionYesAppend to Table function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (table, data, columns, schemaName). See your OneLake connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

data takes one row (an object) or a batch (an array of objects). Bind it to the rows an upstream node produces, for example {{ $node["Buffer"].result }}.

Batch rows before the node

Every execution adds one Parquet file to the table, and readers slow down as small files pile up. Put a Buffer node in front so each write carries hundreds of rows, not one.

Output Structure​

{
"result": {
"table": "Tables/sensor_readings",
"committed": true,
"version": 42,
"created": false,
"rowsWritten": 500,
"parseFailures": 0,
"bytesWritten": 18432,
"dataFile": "Tables/sensor_readings/part-00000-3f2a9c1e-7d4b-4e8a-9b1c-2d5e6f7a8b9c-c000.zstd.parquet"
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 640, "timestamp": "2026-10-05T08:00:00Z" }
}
FieldTypeDescription
result.tablestringThe table's path in the lakehouse
result.committedbooleanWhether rows were committed; false only when the input carried no rows
result.versionnumberThe table version this execution committed (when committed); on a replay, the version that already holds its rows
result.createdbooleanWhether this execution created the table (when committed)
result.rowsWrittennumberRows written
result.parseFailuresnumberValues that did not parse as their column's type and were written as null. A rising count means the upstream data changed shape. The first failure in each column of a table is also logged as a warning
result.bytesWrittennumberSize of the Parquet data file (when committed)
result.dataFilestringThe data file this execution added (when committed, and not on a replay)
result.liveFilesnumberData files the table holds after this execution (when committed). Each execution adds one; batch rows and run Fabric's Optimize to keep it down. Past 10,000 the connector logs a warning, once per table
result.alreadyCommittedbooleanPresent and true when this execution is a replay of a write the table already holds: nothing was written
result.ignoredFieldsarrayRow fields left out because no column matches them; present only when there are some. The first time each field is left out is also logged as a warning
result.checkpointedbooleanPresent and true when this commit also wrote a checkpoint (every 10 versions by default)
result.warningstringPresent when a checkpoint was due but not written, with the reason. The table stays correct; readers replay more commit files until a checkpoint exists
A replayed execution lands once

When store-and-forward, Retry on Fail or a dead-letter replay sends a write again, the table already holds its rows. The connector recognises that from the write's key, recorded in the table log, and answers with alreadyCommitted: true instead of appending a second copy. The record lasts 31 days, the longest the engine resends a write with its default retention. Within one execution, a commit whose outcome is unknown (a timeout) is checked against the table log before retrying, so it is never committed twice.


Path Operations​

OneLake Write File Node​

OneLake Write File node configurationOneLake Write File node configuration

OneLake Write File Node

Upload data to a file under the configured workspace and lakehouse, creating it or overwriting an existing file.

Supported Function Types:

Function NamePurposeCommon Use Cases
Write FileUpload data to a lakehouse file pathLanding OT snapshots, staging Parquet for a Fabric table load, archiving pipeline output

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesMicrosoft Fabric (OneLake) connection profile to use
FunctionSelectionYesWrite function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. path, data). See your OneLake connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

All function parameters support expression syntax ({{ expression }}) for dynamic values from the pipeline context.

Binary payloads need Input Format = base64

The data parameter is a string. A Convert to File node emits Parquet and Excel base64-encoded, so the write function's Input Format must be set to base64 for those payloads; otherwise the base64 characters are uploaded as the file contents and the result is unreadable. CSV and JSON are text and need no change.

Output Structure​

{
"result": {
"path": "Files/snapshots/2026-06-03.json",
"bytesWritten": 2048,
"contentType": "application/json"
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 120, "timestamp": "2026-06-03T08:00:00Z" }
}
FieldTypeDescription
result.pathstringResolved lakehouse path the file was written to
result.bytesWrittennumberNumber of bytes written
result.contentTypestringMIME content type applied (auto-detected when not supplied)
Store-and-forward eligible

The Write File node is a durable sink with keyed idempotency: the path is the idempotency handle, so retries converge to the same end state.


OneLake Read File Node​

OneLake Read File node configurationOneLake Read File node configuration

OneLake Read File Node

Download the full content of a file from the lakehouse and return it as node output.

Supported Function Types:

Function NamePurposeCommon Use Cases
Read FileDownload a lakehouse file's contentReading reference files, configuration blobs, archived payloads

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesMicrosoft Fabric (OneLake) connection profile to use
FunctionSelectionYesRead function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. path). See your OneLake connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"data": "id,value\n1,42\n",
"metadata": {
"path": "Files/reference/lookup.csv",
"fileName": "lookup.csv",
"sizeBytes": 15,
"encoding": "text"
}
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 120, "timestamp": "2026-06-03T08:00:00Z" }
}
FieldTypeDescription
result.datastringFile content: text, or base64 for binary content types
result.metadata.pathstringResolved lakehouse path read
result.metadata.fileNamestringFile name extracted from the path
result.metadata.sizeBytesnumberFile size in bytes
result.metadata.encodingstringtext or base64: how data is encoded
result.metadata.contentTypestringMIME content type (when the service reports it)
result.metadata.contentLengthnumberContent length as reported by the service (when present)
result.metadata.etagstringFile ETag (when present)
result.metadata.lastModifiedstringLast modification timestamp, RFC 3339 UTC (when present)

OneLake List Paths Node​

OneLake List Paths node configurationOneLake List Paths node configuration

OneLake List Paths Node

Enumerate paths under a directory, optionally recursively, with pagination.

Supported Function Types:

Function NamePurposeCommon Use Cases
List PathsEnumerate files and directories under a pathDiscovering files, building inventories, driving fan-out

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesMicrosoft Fabric (OneLake) connection profile to use
FunctionSelectionYesList function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. path, recursive, maxResults). See your OneLake connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"path": "Tables/sensor_readings",
"paths": [
{
"name": "Tables/sensor_readings/data.parquet",
"isDirectory": false,
"contentLength": 20480,
"lastModified": "2026-06-03T08:00:00Z",
"etag": "0x8D..."
}
],
"count": 1,
"hasMore": true,
"continuationToken": "..."
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 120, "timestamp": "2026-06-03T08:00:00Z" }
}
FieldTypeDescription
result.pathstringDirectory that was listed
result.pathsarrayPath entries (see below)
result.countnumberNumber of entries returned
result.hasMorebooleantrue when the service has another page
result.continuationTokenstringPresent only when hasMore is true; pass it back as continuationToken for the next page

Path Entry Fields: each item of result.paths:

FieldTypeDescription
namestringFull path of the entry
isDirectorybooleantrue if the entry is a directory
contentLengthnumberSize in bytes (files)
lastModifiedstringLast modification timestamp, RFC 3339 UTC (when the service reports it)
etagstringEntry ETag

OneLake Create Directory Node​

OneLake Create Directory node configurationOneLake Create Directory node configuration

OneLake Create Directory Node

Create a directory in the lakehouse. Idempotent: succeeds if it already exists.

Supported Function Types:

Function NamePurposeCommon Use Cases
Create DirectoryCreate a lakehouse directoryLaying out partitioned paths, pre-provisioning folders

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesMicrosoft Fabric (OneLake) connection profile to use
FunctionSelectionYesCreate Directory function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. path). See your OneLake connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"path": "Files/daily/2026-06-03"
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 120, "timestamp": "2026-06-03T08:00:00Z" }
}
FieldTypeDescription
result.pathstringResolved directory path

OneLake Delete Path Node​

OneLake Delete Path node configurationOneLake Delete Path node configuration

OneLake Delete Path Node

Permanently remove a file or directory from the lakehouse, optionally recursively.

Supported Function Types:

Function NamePurposeCommon Use Cases
Delete PathDelete a file or directoryRetention cleanup, undo-on-failure, removing processed inputs

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesMicrosoft Fabric (OneLake) connection profile to use
FunctionSelectionYesDelete function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. path, recursive). See your OneLake connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"path": "Files/staging/processed.json",
"kind": "file"
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 120, "timestamp": "2026-06-03T08:00:00Z" }
}
FieldTypeDescription
result.pathstringResolved path that was deleted
result.kindstringfile or directory
Destructive Operation

Deletion is permanent and cannot be undone. Enable Recursive only when you intend to remove a directory and all of its contents; use a Condition node to verify before deleting.


Settings Tab​

All Microsoft Fabric (OneLake) node types share the same Settings tab:

SettingTypeDefaultDescription
DescriptionText-Optional description displayed on the node
Timeout (seconds)NumberPipeline defaultMaximum time the node may run before timing out
Retry on TimeoutTogglePipeline defaultAutomatically retry the node if it times out
Retry on FailTogglePipeline defaultAutomatically retry the node if it fails
On ErrorSelectionPipeline defaultError strategy: Pipeline Default (the pipeline's Error Handling setting), Stop Pipeline or Continue Execution

When left at their defaults, these settings inherit from the pipeline-level execution configuration.