Übung 03
Ziel: In diesem Lab agierst du als Daten-Architekt. Du definierst ein sauberes, kanonisches Datenmodell für einen Kunden, baust einen Workflow, der einen "unordentlichen" Quelldaten-Kunden auf dein sauberes Modell mappt, und speicherst das Ergebnis im Data Store zur Wiederverwendung.
Teil 1: Den Bauplan erstellen (Data Structure)
Szenario: Dein Unternehmen hat beschlossen, ein einheitliches Format für Kundendaten über alle Systeme hinweg zu verwenden. Deine Aufgabe ist es, dieses Format in Xentral Connect als Data Structure anzulegen.
Schema definieren
Importiere das folgende JSON-Schema. Es repräsentiert das gewünschte, einheitliche Kundenformat.
{
"type": "object",
"properties": {
"customer_id": {
"type": "string",
"description": "Die eindeutige ID des Kunden im Quellsystem."
},
"full_name": {
"type": "string",
"description": "Der vollständige Name des Kunden."
},
"email_address": {
"type": "string",
"format": "email",
"description": "Die primäre E-Mail-Adresse."
},
"is_active": {
"type": "boolean",
"description": "Gibt an, ob der Kunde aktiv ist."
}
},
"required": ["customer_id", "full_name", "email_address", "is_active"]
}Erwartetes Ergebnis: Eine neue Data Structure CanonicalCustomer existiert und enthält die vier definierten Felder mit den korrekten Typen und Beschreibungen.
Teil 2: Der Transformations-Workflow
Szenario: Ein angebundenes Altsystem liefert Kundendaten in einem "unordentlichen" Format. Du baust einen Workflow, der diese Daten liest, sie in dein CanonicalCustomer-Format transformiert und im Data Store ablegt.
Quelldaten simulieren (Set-Knoten)
Füge einen
Set-Knoten hinzu und konfiguriere ihn wie folgt:Name:
source_customerValue (als JSON):
{
"id": "user-123",
"firstName": "Max",
"lastName": "Mustermann",
"contact": {
"primary_email": "[email protected]"
},
"status": 1
}Daten mappen (Mapping-Knoten)
Füge einen
Mapping-Knoten hinzu.Target Structure: Wähle deine
CanonicalCustomer-Struktur.Mapping-Logik:
id(aussource_customer) →customer_idfirstNameundlastName→full_nameVerwende eine Expression (klicke auf das f(x)-Icon neben
full_name):{{$node["source_customer"].json["firstName"]}} {{$node["source_customer"].json["lastName"]}}
contact.primary_email→email_addressNavigiere durch das Quellobjekt, um das verschachtelte Feld zu wählen.
status→is_activeVerwende eine Expression:
{{$node["source_customer"].json["status"] == 1}}Diese Expression ergibt
truewennstatusgleich1ist, sonstfalse.
Erwartetes Ergebnis:
Der Workflow läuft erfolgreich durch.
Im Log des Mapping-Knotens siehst du das transformierte
CanonicalCustomer-Objekt.Im Data Explorer > Data Store findest du einen Eintrag mit dem Schlüssel
transformed-customer-user-123.Der Wert dieses Eintrags ist:
{
"customer_id": "user-123",
"full_name": "Max Mustermann",
"email_address": "[email protected]",
"is_active": true
}Musterlösung (Mermaid-Diagramm)
Cleanup
Du kannst den Eintrag im Data Store manuell löschen, um das Lab sauber zu hinterlassen. Klicke dazu im Data Explorer auf den Mülleimer neben dem Eintrag.
Was this helpful?
