IEtlContext
Namespace: Meshmakers.Octo.Sdk.Common.EtlDataPipeline
A context for an ETL process
public interface IEtlContext
Properties
TenantId
Gets the tenant id
public abstract string TenantId { get; }
Property Value
PipelineExecutionId
Gets a guid that identifies the pipeline execution instance.
public abstract Guid PipelineExecutionId { get; }
Property Value
DataFlowRtId
Returns the data flow id.
public abstract OctoObjectId DataFlowRtId { get; }
Property Value
OctoObjectId
PipelineRtEntityId
Returns the pipeline id.
public abstract RtEntityId PipelineRtEntityId { get; }
Property Value
RtEntityId
TransactionStartedDateTime
Gets the transaction started date time.
public abstract DateTime TransactionStartedDateTime { get; }
Property Value
ExternalReceivedDateTime
Gets the date time when the value was received by an optional external system.
public abstract Nullable<DateTime> ExternalReceivedDateTime { get; }
Property Value
Properties
Gets properties that are shared between the different stages of the ETL process and different runs of the pipeline
public abstract IDictionary<string, object> Properties { get; }
Property Value
GlobalConfiguration
Gets the global configuration for the pipeline
public abstract IGlobalConfiguration GlobalConfiguration { get; }
Property Value
VerifiedPrincipal
Gets the authenticated caller of the trigger, verified by the trigger's own authorization (AB#4975). Null for anonymous and internal triggers. Deliberately NOT part of IEtlContext.Properties — that dictionary is shared across pipeline runs.
public VerifiedPrincipal VerifiedPrincipal { get; }
Property Value
CallerAccessToken
Gets the raw access token the caller presented to the trigger, for nodes that must act as the caller against another service (delegation / "on-behalf-of" — AB#5026 / AB#5031). Null for anonymous and internal triggers.
public string CallerAccessToken { get; }
Property Value
Remarks:
A default interface member so adapters implementing IEtlContext themselves are not broken by the addition — the same pattern IEtlContext.VerifiedPrincipal uses. Deliberately NOT part of IEtlContext.Properties (shared across pipeline runs) and NOT part of IEtlContext.VerifiedPrincipal (projected into the persistable, echoed data root); see ExecutePipelineOptions.CallerAccessToken for the full reasoning. Never log this value and never write it into the data context.
CallerTrust
Gets the effective trust of the verified caller (AB#5126), so a node can demand a minimum — e.g. delegate only when the caller is at least CallerTrustLevel.Strong. CallerTrustLevel.None for anonymous / internal triggers and for a caller with no verified-identifier binding.
public CallerTrustLevel CallerTrust { get; }
Property Value
Remarks:
A default interface member for the same reason as IEtlContext.VerifiedPrincipal and IEtlContext.CallerAccessToken: adapters that implement IEtlContext themselves are not broken by the addition.