ETL-Pipeline¶
Die ETL-Pipeline (Extract-Transform-Load) ist die zentrale Ausführungsengine von ConfluenceSynkMD.
Kern-Interfaces¶
IPipelineStep¶
Jeder Pipeline-Schritt implementiert dieses Interface:
public interface IPipelineStep
{
Task<PipelineResult> ExecuteAsync(
TranslationBatchContext context,
CancellationToken ct);
}
TranslationBatchContext¶
Das gemeinsame Kontextobjekt, das durch die Pipeline fließt und SyncOptions, ConverterOptions, LayoutOptions sowie die Documents-Liste enthält.
PipelineResult¶
Jeder Schritt gibt ein PipelineResult zurück, das Erfolg/Fehler und die Fortsetzung der Pipeline anzeigt.
Pipeline-Builder¶
var pipeline = new ETLPipelineBuilder()
.AddExtractor(extractStep)
.AddTransformer(transformStep)
.AddLoader(loadStep1)
.AddLoader(loadStep2);
var result = await pipeline.ExecuteAsync(context, runner, ct);
Pipeline erweitern¶
- Klasse erstellen, die
IPipelineStepimplementiert - Im DI-Container in
Program.csregistrieren - Zur Pipeline-Komposition im Modus-Handler hinzufügen