Schlüsselkonzepte für Transformationen im Jitterbit Integration Studio
Diese Seite erklärt die Kernkonzepte, die Sie verstehen sollten, wenn Sie Transformationen entwerfen und Probleme beheben.
Schemata
Ein Schema definiert die Struktur und Datentypen Ihrer Eingabe- oder Ausgabedaten. Schemata geben an, welche Felder verfügbar sind, ihre Datentypen und wie die Felder organisiert sind:
Quellschemata
Das Quellschema beschreibt die Struktur der Daten, die in Ihre Transformation eingehen. Quellschemata können aus diesen Quellen stammen:
-
Aktivitätsgenerierte Schemata: Automatisch erstellt durch Connector-Aktivitäten wie Datenbankabfragen oder API-Aufrufe.
-
Benutzerdefinierte Schemata: Benutzerdefinierte Schemata, die Sie erstellen oder hochladen.
Quellschemata sind optional. Sie benötigen kein Quellschema, wenn Sie nur Variablen, benutzerdefinierte Werte oder skriptbasierte Logik in Ihren Zuordnungen verwenden.
Für weitere Informationen siehe Wählen Sie Schemasourcen.
Zielschemata
Das Zielschema beschreibt die Struktur der Daten, die Ihre Transformation verlassen. Wie Quellschemata können Zielschemata aktivitätsgeneriert oder benutzerdefiniert sein.
Zielschemata sind immer erforderlich. Jede Transformation muss ein Zielschema haben, das die Ausgabestruktur definiert.
Für detaillierte Anleitungen zum Erstellen und Konfigurieren von Schemata siehe Erstellen Sie eine Transformation und konfigurieren Sie Schemata.
Datenstrukturen
Datenstrukturen definieren, wie Informationen innerhalb von Schemata organisiert sind.
Flache Strukturen
Flache Strukturen enthalten Felder auf einer einzigen Ebene ohne Verschachtelung. Beispiele sind diese Formate:
- CSV-Dateien mit Spalten
- Einzelne Datenbanktabellen
- Einfache XML-Dateien ohne verschachtelte Elemente
Beispiel
<customer>
<id>10123</id>
<fullname>ABC Co.</fullname>
<street>1 Main St.</street>
<city>Anytown</city>
<state>NY</state>
<zip>12345</zip>
</customer>
Hierarchische Strukturen
Hierarchische Strukturen enthalten verschachtelte Beziehungen zwischen Feldern und Datensätzen. Beispiele sind diese Formate:
- Komplexe XML-Dateien mit verschachtelten Elementen
- JSON-Objekte mit verschachtelten Eigenschaften
- Datenbankverknüpfungen über mehrere Tabellen
Example
<customer>
<id>10123</id>
<name>ABC Co.</name>
<addresses>
<address>
<street>1 Main St.</street>
<city>Anytown</city>
<state>NY</state>
<zip>12345</zip>
</address>
<address>
<street>1 Time Square</street>
<city>New York City</city>
<state>NY</state>
<zip>54321</zip>
</address>
</addresses>
</customer>
Für weitere Informationen zur Arbeit mit Datenstrukturen siehe Daten abbilden.
Für komplexe hierarchische Datenszenarien siehe Mit hierarchischen Daten arbeiten.
Knoten und Felder
Schemas werden als Baumstrukturen angezeigt, die Knoten und Felder enthalten. Knoten sind Container, die Felder in hierarchischen Strukturen organisieren. Felder enthalten die tatsächlichen Datenwerte.
Jeder Knoten und jedes Feld zeigt diese visuellen Indikatoren:
- Kardinalitäts-Schlüssel: Zeigt Auftretensregeln in Klammern an.
- Name: Der Elementbezeichner aus dem Schema
- Datentyp: Nur für Felder (String, Integer, Boolean usw.)
-
Attribut-/Wert-Indikatoren: Einige XML- oder JSON-Strukturen enthalten zusätzliche Symbole:
Symbol Bedeutung Beispiel @
XML/JSON-Attribut @image
für Attributdaten#
XML/JSON-Wert #
für den Textinhalt des Elements
Knoten
Knoten sind Container, die Felder in hierarchischen Strukturen organisieren:
- Offenlegungsdreiecke: Erweitern und reduzieren Knoten.
- Fette Namen: Zeigen Knoten an, die Zuordnungen enthalten, wenn sie reduziert sind.
- Standarderweiterung: 8 Ebenen tief für Schemata mit weniger als 750 Knoten, 5 Ebenen tief für größere Schemata.
Sie können Daten nicht direkt auf Knoten abbilden. Stattdessen bilden Sie Daten auf die Felder ab, die Knoten enthalten.
Felder
Felder halten die tatsächlichen Datenwerte und haben diese Eigenschaften:
- Name: Der Bezeichner des Feldes.
- Datentyp: Der Datentyp, wie String, Integer, Boolean, Datum und andere.
- Format: Optionale Formatierung für Daten oder Währungen.
-
Standardwerte: Wenn ein XSD- oder WSDL-Schema einen Standardwert für ein Element oder Attribut angibt, erscheint der Wert neben dem Feldnamen in der Transformationsoberfläche:
Kardinalitätsnotation
Kardinalitätsschlüssel geben die Auftretensregeln mit UML-ähnlicher Notation an:
Kardinalitätsschlüssel | Definition |
---|---|
[1] | Genau ein Element (erforderlich) |
[1+] | Eins oder mehrere Elemente (erforderlich, wiederholbar) |
[0,1] | Null oder ein Element (optional) |
[0+] | Null oder mehr Elemente (optional, wiederholbar) |
Zuordnungen
Eine Zuordnung verbindet Quelldaten mit Ziel-Feldern und definiert, wie Daten transformiert werden sollen.
Arten von Zuordnungen
-
Direkte Feldzuordnungen: Verbinden Quellfelder direkt mit Ziel-Feldern. Siehe Felder manuell zuordnen.
-
Benutzerdefinierte Wertzuordnungen: Weisen statische Werte oder Ausdrücke zu. Siehe Benutzerdefinierte Werte verwenden.
-
Variablenzuordnungen: Verweisen auf Projekt- oder globale Variablen. Siehe Variablen zuordnen.
-
Skriptzuordnungen: Verwenden Funktionen und Logik zur Datenumwandlung. Siehe Zuordnung mit Skripten.
-
Bedingte Zuordnungen: Wenden unterschiedliche Logik basierend auf Bedingungen an. Siehe Bedingte Logik.
Zuordnungsskripte
Alle Zuordnungen werden als Skripte auf Ziel-Feldern implementiert. Selbst visuelle Zuordnungen wie Drag-and-Drop erstellen zugrunde liegende Skripte. Sie können diese Skripte direkt für komplexe Transformationen bearbeiten.
Für die automatische Zuordnung ähnlicher Strukturen siehe Identische Strukturen zuordnen.
Schleifen-Knoten
Schleifen-Knoten verarbeiten wiederholende Daten, wie mehrere Datensätze oder Arrays. Wenn Sie Felder innerhalb von Schleifen-Knoten zuordnen, verarbeitet die Transformation jede Iteration der Daten.
Automatische Schleifenerzeugung
Schleifenknoten werden automatisch generiert, wenn Sie Felder aus sich wiederholenden Quelldaten auf sich wiederholende Zielstrukturen abbilden. Eine Iteratorzeile erscheint, die zeigt, wie die Transformation durch die Daten schleifen wird.
Manuelle Schleifendefinition
Sie können Schleifenknoten manuell definieren, wenn die automatische Generierung nicht Ihren Anforderungen an die Datenverarbeitung entspricht. Dies ist nützlich, wenn Sie mehrere Ebenen von sich wiederholenden Daten haben und steuern müssen, welche Ebene die Iteration antreibt.
Für umfassende Anleitungen zur Arbeit mit sich wiederholenden Daten siehe Daten-Schleifen steuern.
Variablen
Variablen sind dafür konzipiert, Werte, Konfigurationseinstellungen und kleine Datenmengen zwischen verschiedenen Komponenten Ihrer Integration zu übergeben. Variablen sind nützlich, wenn Sie Informationen wie Sitzungs-IDs, Konfigurationsparameter oder berechnete Werte über Skripte, Transformationen und Operationen hinweg teilen müssen. Diese Variablentypen stehen zur Verfügung:
Typ | Geltungsbereich | Am besten geeignet für |
---|---|---|
[Lokal] | Einzelnes Skript | Berechnungen und temporäre Werte |
Global | Operationskette | Daten zwischen Operationen übergeben |
[Projekt] | Gesamtes Projekt | Konfiguration und Anmeldeinformationen |
Jitterbit | Systemdefiniert | Laufzeitinformationen |
Für Beispiele und detaillierte Informationen zu jedem Variablentyp siehe die jeweiligen Dokumentationsseiten.
Für praktische Beispiele zur Verwendung von Variablen in Transformationen siehe Variablen abbilden.
Referenzpfadnotation
Referenzpfade geben den Standort von Quellobjekten innerhalb der Datenstruktur an. Die folgenden Pfade werden automatisch generiert, wenn Sie Quellfelder auf Ziele abbilden.
-
Knotenpfade: In eckige Klammern eingeschlossen
[nodeN]
-
Feldpfade: Keine Klammern, nur der Feldname
-
Schleifenindikatoren: Punkt (
.
) nach Schleifenknotennamen -
Arrayzugriff: Raute (
#
) für Arrayelemente
Zur Referenz verwendet die Syntax für den Pfad des Objekts diese Symbole:
Kategorie | Symbol | Bedeutung |
---|---|---|
Pfade | [ ] | Eckige Klammern werden verwendet, um einen Knotepfad einzuschließen. |
Ein Pfad ohne eckige Klammern ist ein Wert- oder Attributfeld. | ||
Trennzeichen | . | Ein Punkt, der einem Knotennamen folgt, zeigt an, dass es sich um einen Schleifenknoten handelt. |
$ | Ein Dollarzeichen, das einem Knotennamen folgt, wird verwendet, um ein Einmalig oder [E] Element anzuzeigen. Dieser Knoten kann kein Schleifenknoten sein. | |
Schleifenknoten | #. | Ein Raute-Punkt, der einem Knotennamen folgt, zeigt an, dass ein Array für die Wertfelder des Datensatzes zurückgegeben wird. Diese Notation kann nur bei Schleifenknotennamen verwendet werden. |
#<n>. | Eine Raute, gefolgt von einer Ganzzahl, gibt das eins-basierte Indexelement eines Arrays zurück. | |
Komplexe CSV-Strukturen | _ | Ein Unterstrich, der Root vorangestellt ist, wird verwendet, um auf die Wurzel in einer komplexen CSV zu verweisen. Dies ist bei anderen Datenstrukturen nicht vorhanden. Ein Unterstrich kann auch einfach ein bereits vorhandener Unterstrich in einem Knoten- oder Feldnamen sein. |
Als Beispiel enthält die folgende Tabelle Beispielpfade für eine komplexe CSV-Datenstruktur. Die Pfade für andere Strukturen folgen demselben Format, es sei denn, _Root
ist für andere Datenstrukturen nicht vorhanden.
Knotenpfade werden mit einem blauen Hintergrund angezeigt, während der Rest Feldpfade sind. Eine Quelle kann einem Attribut- oder Wertefeld eines Ziels zugeordnet werden. Obwohl Zielknoten Bedingungen unterliegen können, können Quellen nicht darauf abgebildet werden. Quellknoten- und Feldpfade können in Zielknotenbedingungen und Ziel-Feldzuordnungen verwendet werden.
Datenstruktur | Qualifizierter Pfad | Bedeutung |
---|---|---|
_Root (Einmalig) | [_Root$] | Das _Root in einer CSV-Datenstruktur ist immer ein Knoten und erscheint daher in eckigen Klammern [ ] . Das abschließende Dollarzeichen zeigt ein Einmalig -Element an. |
Header (Einmalig) [E] | [_Root$Header$] | Unterknoten verwenden die Referenz auf alle vorhergehenden Knoten, gefolgt vom Knotennamen. Das abschließende Dollarzeichen zeigt ein Einmalig - oder [E] -Element an. |
Wert [V] | _Root$Header$Value | Ein Wertefeld ist nicht in eckige Klammern eingeschlossen, verwendet jedoch weiterhin die Referenz auf alle vorhergehenden Knoten, gefolgt vom Wertnamen. |
Detail (Eins oder Mehr) | [_Root$Header$Detail.] | Unterknoten verwenden die Referenz auf alle vorhergehenden Knoten, gefolgt vom Knotennamen. Der abschließende Punkt zeigt einen Schleifenknoten an. |
Attribut [A] | _Root$Header$Detail.Attribute | Ein Attributfeld ist nicht in eckige Klammern eingeschlossen, verwendet jedoch weiterhin die Referenz auf alle vorhergehenden Knoten, gefolgt vom Attributnamen. |
Wert [V] | _Root$Header$Detail#.Value | Ein Wertefeld ist nicht in eckige Klammern eingeschlossen, verwendet jedoch weiterhin die Referenz auf alle vorhergehenden Knoten, gefolgt vom Wertnamen. Dieses spezifische Beispiel zeigt ein Hash-Zeichen vor dem Punkt des Schleifenknotens, was darauf hinweist, dass ein Array der "Detail"-Wertdatensätze zurückgegeben wird. |
Wert [V] | _Root$Header$Detail#1.Value | Ein Wertefeld ist nicht in eckige Klammern eingeschlossen, verwendet jedoch weiterhin die Referenz auf alle vorhergehenden Knoten, gefolgt vom Wertnamen. Dieses spezifische Beispiel zeigt ein indiziertes Hash-Zeichen vor dem Punkt des Schleifenknotens, was darauf hinweist, dass das erste Element eines Arrays der "Detail"-Wertdatensätze zurückgegeben wird. |
Datenfluss
Daten fließen durch Transformationen in dieser Reihenfolge:
-
Eingabe: Eine Quellaktivität liefert Daten, die dem Quellschema entsprechen.
-
Verarbeitung: Eine Transformation wendet Zuordnungen, Funktionen und Geschäftslogik an.
-
Ausgabe: Die transformierten Daten, die dem Zielschema entsprechen, gehen an die Zielaktivität.
Das Verständnis dieses Flusses hilft Ihnen, Zuordnungen zu entwerfen, die Daten korrekt verarbeiten, und Probleme zu beheben, wenn Daten nicht wie erwartet transformiert werden.
Für Anleitungen zur Validierung und Fehlersuche siehe Testen und Validieren von Transformationen und Lösen von Konflikten und Fehlern bei der Transformationszuordnung.