ForEachNodeConfiguration
Namespace: Meshmakers.Octo.Sdk.Common.EtlDataPipeline.Nodes.Control
Configuration for a for loop node.
public record ForEachNodeConfiguration : SourceTargetPathNodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IPathNodeConfiguration, IEquatable<SourceTargetPathNodeConfiguration>, IChildNodeConfiguration, IEquatable<ForEachNodeConfiguration>
Inheritance Object → NodeConfiguration → TargetPathNodeConfiguration → SourceTargetPathNodeConfiguration → ForEachNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IPathNodeConfiguration, IEquatable<SourceTargetPathNodeConfiguration>, IChildNodeConfiguration, IEquatable<ForEachNodeConfiguration>
Properties
Transformations
public ICollection<NodeConfiguration> Transformations { get; set; }
Property Value
ICollection<NodeConfiguration>
FullDocumentPath
Gets or sets the path to the full document.
public string FullDocumentPath { get; set; }
Property Value
IterationPath
Gets or sets the path to the array to iterate over.
public string IterationPath { get; set; }
Property Value
KeyPath
Gets or sets the path to the key of the current iteration.
public string KeyPath { get; set; }
Property Value
MergePath
Gets or sets the path used to merge the results of the child nodes.
public string MergePath { get; set; }
Property Value
MaxDegreeOfParallelism
Gets or sets the maximum degree of parallelism for the loop. 0 = use Environment.ProcessorCount (default), -1 = unlimited, positive = explicit limit.
public int MaxDegreeOfParallelism { get; set; }
Property Value
ContinueOnError
Gets or sets whether the loop continues when an iteration fails. Off (default), the first iteration error aborts the loop and propagates unchanged. On, iteration errors are logged and collected, the remaining iterations and the downstream nodes still run, and the node afterwards fails the execution with an aggregated error — a single poisoned element cannot starve the remaining ones, while the run still reports every failure. Cancellation always aborts the loop.
public bool ContinueOnError { get; set; }
Property Value
ErrorsPath
Gets or sets the path the collected iteration errors are written to. Requires
continueOnError and an explicitly set non-root targetPath that this path
neither equals nor overlaps: the errors are written after the result, so an equal or
enclosing errorsPath would silently replace the result, and one inside it would
overwrite part of the result or fail late - such a collision is rejected before the
first iteration.
Unset (default), iteration errors are only logged and reported afterwards as the
aggregated execution error.
Set, the collected errors are written to this path as an array of
{ index, errorType, message } objects - empty when nothing failed - before the
downstream nodes run, and the node no longer fails the execution afterwards: the pipeline
owns the errors and decides itself whether the run turns red, for example by routing the
failed items to a quarantine or by a later node that throws.
public string ErrorsPath { get; set; }
Property Value
Path
Gets or sets the source path in json path format
public string Path { get; set; }
Property Value
TargetPath
Gets or sets the target path in json path format
public string TargetPath { get; set; }
Property Value
TargetValueWriteMode
Gets or sets the writing mode (overwrite, append, prepend)
public TargetValueWriteModes TargetValueWriteMode { get; set; }
Property Value
TargetValueKind
Gets or sets the value kind to write (simple value or array)
public ValueKinds TargetValueKind { get; set; }
Property Value
DocumentMode
Gets or sets the document mode (extend, replace)
public DocumentModes DocumentMode { get; set; }
Property Value
Description
Gets or sets an optional description
public string Description { get; set; }
Property Value
Constructors
ForEachNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public ForEachNodeConfiguration()