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
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
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
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
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
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
Skip
Number of rows to skip.
public Nullable<int> Skip { get; set; }
Property Value
Take
Number of rows to take.
public Nullable<int> Take { get; set; }
Property Value
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
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
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
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
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
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
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
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
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
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
TargetPath
public string TargetPath { get; set; }
Property Value
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
Constructors
GetStreamDataNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public GetStreamDataNodeConfiguration()