SDK
Die SDK-Funktionalität in Syncler ermöglicht es, C#-Skripte direkt in der Oberfläche zu hinterlegen.
Diese Skripte werden zur Laufzeit kompiliert und in einer isolierten Sandbox ausgeführt, um Daten zu transformieren, zu prüfen oder Abläufe zu steuern.
Überblick
- Sprache/Runtime: C# auf .NET-Basis
- Bereitstellung: Skripttext wird in der Syncler-UI gepflegt
- Ausführung: JIT-Kompilierung zur Laufzeit, anschließende isolierte Ausführung
- Timeout: Standardmäßig 300 Sekunden (überschrittene Läufe enden mit Fehler)
- Kontext: Zugriff auf Quell-/Zieldaten und kontextbezogene Parameter über den SDK-Helper
- Serialisierung: Newtonsoft.Json steht zur Verfügung (z. B.
JObject,JToken,JsonConvert)
Zielsetzung: Skripte sind ideal für punktuelle Logik, die mit Standard-Transformationen nicht (oder nur umständlich) möglich ist.
Sicherheits- & Sandbox-Beschränkungen
Die verfügbaren .NET-Assemblies sind bewusst eingeschränkt. In der Cloud sind insbesondere folgende Bereiche nicht verfügbar:
System.Diagnostics(Tracing/Prozess-Inspektion)- Dateizugriff:
System.IO.File,System.IO.Directory, Streams mit direktem Dateisystemzugriff - Prozess-/Systemaufrufe:
System.Diagnostics.Process,System.Environment(kritische Teile), Kernel-nahe APIs - App- und Hosting-Kontext:
AppDomain,AppContext,HttpContext
Weitere Einschränkungen können zwischen Cloud und On-Premises abweichen.
Nutzen Sie keinen direkten Systemzugriff und keine blockierenden Endlosoperationen.
Wichtig: Die Skriptausführung ist zeit- und ressourcenbegrenzt. Rechen- oder I/O-intensive Aufgaben gehören nicht in ein SDK-Skript.
Ausführungsmodell & Lebenszyklus
- Eingangsdaten bereitstellen: Der Sync/Schritt liefert den aktuellen Datensatz und Kontextparameter.
- Kompilieren & Laden: Das Skript wird on-the-fly kompiliert.
- Sandbox-Ausführung: Ausführung innerhalb einer isolierten Domäne; Zugriff auf den SDK-Helper.
- Ergebnis übernehmen: Rückgabewerte/Änderungen fließen in die nachfolgenden Schritte (z. B. Feldzuordnung, Filter).
- Protokollierung/Fehler: Meldungen erscheinen im Protokoll/Live-Ticker; Ausnahmen führen zur Fehlerbehandlung des Syncs.
Der SDK-Helper (Konzept)
Der SDK-Helper wird dem Skript beim Start bereitgestellt und stellt u. a. bereit:
- Zugriff auf Daten:
- Quellwerte lesen/schreiben (z. B. für Zwischenergebnisse)
- Zielwerte vorbereiten (z. B. für Feldzuordnung)
- Kontextinformationen:
- Laufzeitparameter (z. B. Mandant, Sync-ID, Ausführungsart)
- Zeit/Locale (z. B.
Europe/Berlin)
- Hilfsfunktionen:
- Protokollieren (Info/Warnung/Fehler)
- Serialisieren/Deserialisieren (Newtonsoft.Json)
- (je nach Konfiguration) Zugriff auf interne Utility-Methoden
Hinweis: Die konkreten Methodennamen und Signaturen können je Version variieren. Prüfen Sie die UI-Beschreibung zum Skriptschritt.
Zusammenfassung
Das Syncler-SDK ist ein präzises Werkzeug für Lücken, die Standard-Transformationen nicht schließen oder für die Konnektor-Entwicklung.
Beachten Sie die Sandbox-Beschränkungen, halten Sie Skripte kurz, robust und deterministisch, und nutzen Sie den SDK-Helper sowie Newtonsoft.Json für eine sichere, nachvollziehbare Datenmanipulation.