Skip to main content

GetStreamDataNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Extract

Configuration for the node that reads rows from a stream data archive. Unlike GetQueryById@1, which executes a query entity persisted in the runtime model, everything is configured directly on this node.

public record GetStreamDataNodeConfiguration : TargetPathNodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IEquatable<GetStreamDataNodeConfiguration>

Inheritance Object → NodeConfiguration → TargetPathNodeConfiguration → GetStreamDataNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IEquatable<GetStreamDataNodeConfiguration>

Properties

ArchiveRtId

Runtime id of the archive to read from. The archive must be activated.

public OctoObjectId ArchiveRtId { get; set; }

Property Value

OctoObjectId

Columns

Attribute paths to project, as configured on the archive (e.g. "Temperature", "Amount.Value"). Leave empty to read the whole archive: every one of its data columns, preceded by the well-known name of the source entity. Formula (computed) columns are only read when named here explicitly. Standard columns such as "rtWellKnownName" can be listed like any other.

public ICollection<string> Columns { get; set; }

Property Value

ICollection<String>

WellKnownNames

Restricts the result to rows whose source entity carries one of these well-known names. A single name is matched with Equals, several with In.

public ICollection<string> WellKnownNames { get; set; }

Property Value

ICollection<String>

WellKnownNamesPath

Optional JSONPath to read the well-known names from the pipeline data instead of configuring them. Accepts a single value, an array, or a multi-match path. GetStreamDataNodeConfiguration.WellKnownNames takes precedence; a path resolving to nothing leaves the filter unset and logs a warning.

public string WellKnownNamesPath { get; set; }

Property Value

String

RtIds

Restricts the result to these source entities. Runtime ids as strings — the same form the pipeline data carries them in.

public ICollection<string> RtIds { get; set; }

Property Value

ICollection<String>

RtIdsPath

Optional JSONPath to read the source entity ids from the pipeline data. Same semantics as GetStreamDataNodeConfiguration.WellKnownNamesPath; GetStreamDataNodeConfiguration.RtIds takes precedence.

public string RtIdsPath { get; set; }

Property Value

String

FieldFilters

Additional filters on projected or standard columns, combined with AND.

public ICollection<FieldFilterWithPathDto> FieldFilters { get; set; }

Property Value

ICollection<FieldFilterWithPathDto>

SortOrders

Sort order of the returned rows. Use the column names as they appear in the result: "Timestamp" for the time axis (the window end on a time-range or rollup archive), "WindowStart" / "WindowEnd" on those archives, "WellKnownName", or any of the archive's own columns. An unknown name fails the node rather than returning unordered rows.

public ICollection<SortOrderDto> SortOrders { get; set; }

Property Value

ICollection<SortOrderDto>

Skip

Number of rows to skip.

public Nullable<int> Skip { get; set; }

Property Value

Nullable<Int32>

Take

Number of rows to take.

public Nullable<int> Take { get; set; }

Property Value

Nullable<Int32>

From

Optional start of the time range (UTC). Leaving it unset leaves the range open at the start. A value written without a time-zone offset ("2026-07-01T00:00:00") is read as UTC, not as the adapter host's local time.

public Nullable<DateTime> From { get; set; }

Property Value

Nullable<DateTime>

FromPath

Optional JSONPath to read the start of the time range from the pipeline data, for cases where the range is computed upstream (HTTP trigger, previous node) instead of being configured. GetStreamDataNodeConfiguration.From takes precedence. The value may be an ISO-8601 timestamp string or a date/time value; values without an offset are read as UTC. A path resolving to nothing leaves the boundary open and logs a warning, while a present but non-date value fails the node.

public string FromPath { get; set; }

Property Value

String

To

Optional end of the time range (UTC). Leaving it unset leaves the range open at the end. Same UTC contract as GetStreamDataNodeConfiguration.From.

public Nullable<DateTime> To { get; set; }

Property Value

Nullable<DateTime>

ToPath

Optional JSONPath to read the end of the time range from the pipeline data. Same semantics as GetStreamDataNodeConfiguration.FromPath; GetStreamDataNodeConfiguration.To takes precedence.

public string ToPath { get; set; }

Property Value

String

Limit

Optional cap on the number of rows read. Must be greater than zero when set. Independent of GetStreamDataNodeConfiguration.Skip / GetStreamDataNodeConfiguration.Take, which page the result.

public Nullable<int> Limit { get; set; }

Property Value

Nullable<Int32>

LimitPath

Optional JSONPath to read the row cap from the pipeline data. Same semantics as GetStreamDataNodeConfiguration.FromPath; GetStreamDataNodeConfiguration.Limit takes precedence.

public string LimitPath { get; set; }

Property Value

String

GapsTargetPath

Where to write the coverage report. Setting it turns on gap detection: the node checks whether every source entity delivered data for the whole time range and reports the uncovered ranges per entity. Requires a time range with both boundaries and an archive that stores row windows (time-range or rollup); raw archives have no windows to check.

public string GapsTargetPath { get; set; }

Property Value

String

ExpectedInterval

The interval the gap counts are expressed in, e.g. "00:15:00" for quarter-hourly data. Must be greater than zero when set. Defaults to the period declared on the archive; without either, gaps are still reported as time ranges but the interval counts stay empty.

public Nullable<TimeSpan> ExpectedInterval { get; set; }

Property Value

Nullable<TimeSpan>

GapsOnly

Report the gaps only and skip reading the data itself. Useful as a cheap completeness check ahead of an expensive step. Requires GetStreamDataNodeConfiguration.GapsTargetPath.

public bool GapsOnly { get; set; }

Property Value

Boolean

MaxGapScanRows

Safety cap on the rows the gap scan reads (default 200000). Exceeding it fails the node rather than returning a report built from a truncated scan. For scale: a year of quarter-hourly data is about 35000 rows per entity. Must be greater than zero when set — use the largest possible integer to scan without a practical cap, not zero.

public Nullable<int> MaxGapScanRows { get; set; }

Property Value

Nullable<Int32>

TargetPath

public string TargetPath { get; set; }

Property Value

String

TargetValueWriteMode

public TargetValueWriteModes TargetValueWriteMode { get; set; }

Property Value

TargetValueWriteModes

TargetValueKind

public ValueKinds TargetValueKind { get; set; }

Property Value

ValueKinds

DocumentMode

public DocumentModes DocumentMode { get; set; }

Property Value

DocumentModes

Description

public string Description { get; set; }

Property Value

String

Constructors

GetStreamDataNodeConfiguration()

Caution

Constructors of types with required members are not supported in this version of your compiler.


public GetStreamDataNodeConfiguration()