In diesem Connected Learning Path erstellen wir eine Kette, die veranschaulicht, wie man eine XML-Datei in CSV konvertiert. Außerdem werden wir untersuchen, wie man Datensätze vergleicht, um Unterschiede zu isolieren.
Primäres Lernziel | Der XML-Konnektor |
Sekundäre Lernziele | Intelligente Filter für die tabellarische Transformation, Trennzeichen ändern und erweiterte Abfragebefehle |
Voraussetzungen | XML-Connector-Verbindung konfigurieren |
Unterstützende Vorlage | CLP | Zugriff auf XML-Daten |
Schritt 1: Erstellen einer Kette
- Eine neue Kette hinzufügen
- Benennen Sie die Kette CLP | Zugriff auf XML-Daten
- Erstellen Sie zwei Kettenvariablen:
- Klicken Sie unter Kettenvariablen zweimal auf das Pluszeichen
- XML-Variable
- Name: cv-XML-Employee
- Wert: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employees.xml
- CSV-Variable
- Name: cv-CSV-Employee
- Wert: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employee_detail.csv
- Rettet die Kette
Schritt 2: Abrufen von Daten im CSV-Format
Verwenden Sie den HTTP-Connector zum Abrufen von Personalbestandsdaten im CSV-Format. In späteren Schritten werden wir ähnliche Informationen zur Mitarbeiterzahl im XML-Format abrufen und dann die Datensätze vergleichen, um Unterschiede festzustellen.
- Fügen Sie einen GET Befehl vom HTTP Connector zum Startknoten hinzu.
- Konfigurieren Sie den Befehl wie folgt:
Name | GET - Mitarbeiterzahl im CSV-Format |
Name des Benutzers | <leerlassen> |
Kennwort | <leerlassen> |
CA-Zertifikat | <leerlassen> |
Zertifikat | <leerlassen> |
Privater Schlüssel des Zertifikats | <leerlassen> |
Antwort anzeigen | Geprüft |
URL | cv-CSV-Employee Chain Variable |
Abfrage-String | <leerlassen> |
Art des Inhalts | text/csv |
Antwort | <leerlassen> |
- Speichern Sie den Befehl
Schritt 3: Abrufen von Daten im XML-Format
Verwenden Sie den HTTP-Connector, um Daten zur Mitarbeiterzahl im XML-Format abzurufen. Wie in Schritt 2 erwähnt, werden wir in einem weiteren Schritt den XML-Datensatz mit dem CSV-Datensatz vergleichen, um Unterschiede festzustellen.
- Fügen Sie einen GET Befehl vom HTTP Connector in die Kette ein.
- Verbinden Sie den Startknoten (GET - Headcount im CSV-Format) mit dem Befehl GET .
- Konfigurieren Sie den Befehl wie folgt:
Name GET - Mitarbeiterzahl im XML-Format Name des Benutzers <leerlassen> Kennwort <leerlassen> CA-Zertifikat <leerlassen> Zertifikat <leerlassen> Privater Schlüssel des Zertifikats <leerlassen> Antwort anzeigen Geprüft URL cv-XML-Employee Kettenvariable Abfrage-String <leerlassen> Art des Inhalts anwendung/xml Antwort <leerlassen> - Speichern Sie den Befehl
Schritt 4: Konvertieren der XML-Datei in eine durch Trennzeichen getrennte Datei
Verwenden Sie den XML Connector, um die XML-Daten in ein CSV-Format zu konvertieren, damit wir später in der Kette Befehle nutzen können, die Daten in einem durch Trennzeichen getrennten Format erwarten.
- Fügen Sie einen Elementliste zu CSV Befehl aus dem XML Connector in die Kette ein.
- Verbinden Sie den Befehl GET - Headcount in XML Format mit dem Befehl Element List to CSV .
- Wählen Sie im Parameter Input File die Response Output aus dem Befehl GET - Headcount in XML Format .
- Lassen Sie den Parameter Input Text leer.
- Geben Sie in den Parameter Path to root die folgenden Umschlaginformationen ein:
/Mitarbeiter_daten/Mitarbeiter
- Überprüfen Sie den Parameter Preview Result .
- Klicken Sie im Abschnitt Columns 12 Mal auf die Schaltfläche Add (Hinzufügen).
- Geben Sie für jede der hinzugefügten Spalten den Namen des Feldes aus dem Datensatz ein, der im vorherigen Schritt in der Vorschau angezeigt wurde, und zwar sowohl in die Felder Column Name als auch XPath .
- Beispiel: emp_id
- ⚠️ Beim XPath-Feld wird zwischen Groß- und Kleinschreibung unterschieden, und die Groß- und Kleinschreibung muss mit der des Umschlags übereinstimmen.
- Geben Sie in den Parameter Mehrwertiges Trennzeichen eine Pipe (|) ein.
- Speichern Sie den Befehl
- Geben Sie für jede der hinzugefügten Spalten den Namen des Feldes aus dem Datensatz ein, der im vorherigen Schritt in der Vorschau angezeigt wurde, und zwar sowohl in die Felder Column Name als auch XPath .
- Veröffentlichen, Ausführen und Ausführen der Kette.
- Überprüfen Sie die Registerkarte Protokoll des Befehlsknotens Elementliste zu CSV - Alle Mitarbeiter und bestätigen Sie, dass eine Liste der Mitarbeiter angezeigt wird.
⚠️ Überspringen Sie nicht die Ausführung und Ergebnisüberprüfung dieses Schritts, da eine Kopie dieses Befehls in der Kette erstellt wird und eventuelle Fehler anschließend in mehreren Instanzen des Befehls korrigiert werden müssen.
Schritt 5: Ändern Sie die konvertierte XML-Datei von Tabulator-getrennt in Komma-getrennt
Verwenden Sie den Tabular Transformation Connector, um die von der XML-Konvertierung erzeugte Ausgabe von einem tabulatorgetrennten Format in ein kommagetrenntes Format zu konvertieren.
- Fügen Sie einen Trennzeichen ändern Befehl aus dem Tabellarische Transformation Connector in die Kette ein.
- Verbinden Sie den Befehl Elementliste zu CSV - Alle Mitarbeiter mit dem Befehl Trennzeichen ändern .
- Konfigurieren Sie den Befehl wie folgt:
Name | Begrenzungszeichen ändern - Alle Mitarbeiter |
Eingabedatei | Konvertierte Datei Ausgabe der Elementliste in CSV - Befehl Alle Mitarbeiter |
Eingabe Begrenzer | \t |
Ausgabe-Begrenzer | , |
- Speichern Sie den Befehl.
Schritt 6: Vergleichen Sie die CSV- und XML-Datensätze, um Unterschiede festzustellen
Verwenden Sie die erweiterte Abfrage, um systematisch Unterschiede zwischen den XML- und nativen CSV-Datensätzen zu ermitteln. Identifizieren Sie in diesem Beispiel alle Datensätze im XML-Datensatz, die sich vom CSV-Datensatz unterscheiden oder fehlen. Alle zusätzlichen Datensätze, die im CSV-Datensatz gefunden werden und nicht im XML-Datensatz enthalten sind, werden bei dieser Übung nicht identifiziert.
- Fügen Sie einen Advanced Query Befehl aus dem Tabular Transformation Connector in die Kette ein.
- Verbinden Sie den Befehl Begrenzungszeichen ändern - Alle Mitarbeiter mit dem Befehl Erweiterte Abfrage .
- Nennen Sie den Befehl: Erweiterte Abfrage - Alle Mitarbeiter
- Klicken Sie im Abschnitt Tabellen auf die Schaltfläche Hinzufügen , um eine zweite Registerkarte hinzuzufügen.
- Geben Sie für die erste Tabelle das CSV-Ergebnis Ausgabe aus dem Befehl Trennzeichen ändern - Alle Mitarbeiter an.
- Geben Sie XML als Tabellennamean.
- Für die zweite Tabelle geben Sie die Antwortausgabe aus dem Befehl GET - Headcount in CSV-Format an.
- Geben Sie CSV als Tabellennamean.
- Geben Sie im Parameter Query Folgendes ein:
- Geben Sie für die erste Tabelle das CSV-Ergebnis Ausgabe aus dem Befehl Trennzeichen ändern - Alle Mitarbeiter an.
Select * from XML EXCEPT Select * from CSV
-
- Geben Sie in den Feldern Input Delimiter und Output Delimiter Commaan.
- Aktivieren Sie die Option Ergebnisvorschau .
- Befehl speichern
- Veröffentlichen, Ausführen und Ausführen der Kette.
- Überprüfen Sie die Registerkarte Protokoll des Befehlsknotens Erweiterte Abfrage - Alle Mitarbeiter und bestätigen Sie, dass die Mitarbeiter-IDs mit den unten aufgeführten Datensätzen übereinstimmen, die von der Abfrage zurückgegeben wurden.
Mitarbeiter-ID
01-6875791
10-4199621
38-3932553
63-0417180
78-3600453
85-6818050
97-2828467
Schritt 7: Hinzufügen einer Befehlsgruppe
Fügen Sie der Kette eine Befehlsgruppe hinzu, um Befehle besser zu organisieren. Obwohl dieser Schritt im Rahmen dieser Übung erforderlich ist, handelt es sich dabei nicht um eine technische Anforderung für die Kette. Dieser Schritt dient lediglich zur Veranschaulichung der Fähigkeit, die Knoten einer Kette zu organisieren.
- Fügen Sie der Kette eine Befehlsgruppe hinzu.
- Verbinden Sie den Befehl GET - Headcount in XML Format mit dem Abschnitt In der Befehlsgruppe.
- Klicken Sie auf die Befehlsgruppe und wählen Sie dann das Tropfensymbol, um die Farbe des Befehls in rotzu ändern.
- Benennen Sie die Gruppe: Aktive Mitarbeiter
Schritt 8: CSV-Daten nur für aktive Mitarbeiter filtern
Verwenden Sie einen intelligenten Filter, um nur die Mitarbeiterdatensätze zu behalten, in denen der Mitarbeiter aktiv ist. Bei der Definition des Filters gehen wir davon aus, dass das Feld beendet (gekündigt) leer ist, was bedeutet, dass ein Mitarbeiter aktiv ist.
- Fügen Sie einen Smart Filter Rows Befehl aus dem Tabular Transformation Connector in die Kette ein.
- Verbinden Sie den Gruppenstart von der Befehlsgruppe mit dem Smart Filter Befehl.
- Bearbeiten Sie den Befehl:
- Benennen Sie den Befehl: Smart Filter Rows - CSV Data - Active Employees.
- Wählen Sie im Parameter Eingabedatei die Antwort Ausgabe des Befehls GET - Headcount im CSV-Format.
- Lassen Sie den Parameter Output file leer.
- Geben Sie Komma als Trennzeichenan.
- Im Abschnitt Filter ,
- Klicken Sie auf die Schaltfläche Hinzufügen in den Filtern Text .
- In den Parameter Spaltenname geben Sie mit der Bezeichnungein.
- Aktivieren Sie die Option Case Insensitive .
- Wählen Sie in der Dropdown-Liste Bedingung die Option ist gleich.
- Geben Sie in den Parameter Compare Texttrueein.
- Aktivieren Sie die Option Nicht .
- Lassen Sie das Kontrollkästchen Trim unmarkiert. Mit diesem Filter wird jeder Datensatz identifiziert, bei dem das Feld bezeichnet keinen Wert true (d. h. falsch oder leer) enthält.
- Lassen Sie die Option Ergebnisvorschau aktiviert.
- Mit der Option "Invers" kann der Smart-Filter alle Zeilen, die den Filterkriterien entsprechen, entweder behalten (markiert) oder entfernen (nicht markiert). In dieser Übung wollen wir alle Zeilen behalten, in denen das Feld "Bezeichnung" den Wert "wahr" oder "leer" hat. Um dies zu erreichen, überprüfen wir die Option Inverse .
- Speichern Sie den Befehl.
Schritt 9: Filtern von XML-Daten bei der Konvertierung in Trennzeichen
In diesem Schritt werden die XML-Daten bei der Konvertierung in ein durch Trennzeichen getrenntes Format gefiltert, um nur aktive Mitarbeiter zu identifizieren. Dieser Datensatz wird anschließend mit dem gefilterten CSV-Datensatz verglichen, um Unterschiede festzustellen.
- Kopieren Sie die Elementliste in die CSV-Datei - Befehl Alle Mitarbeiter .
- Verbinden Sie den Gruppenstart aus der Befehlsgruppe mit dem Befehl Elementliste nach CSV - Alle Mitarbeiter (Kopieren) .
- Bearbeiten Sie den Befehl.
- Benennen Sie den Befehl: Elementliste in CSV - Aktive Mitarbeiter.
- Geben Sie in den Parameter Path to root den folgenden Wert ein. Das nachstehende Format filtert auf der Grundlage des Feldes termed, das einen Wert ungleich true hat.
/employee_data/employee[termed!='true']
- Speichern Sie den Befehl.
Schritt 10: Ändern Sie die gefilterten XML-Daten in kommagetrennte Daten
Wie bei der vollständigen Mitarbeiterliste muss auch die gefilterte aktive Mitarbeiterliste, die von XML in tabulatorgetrennt konvertiert wurde, in kommagetrennt konvertiert werden.
- Kopieren Sie den Befehl Begrenzungszeichen ändern - Alle Mitarbeiter .
- Verbinden Sie den Befehl Elementliste mit CSV - Aktive Mitarbeiter mit dem Befehl Element Trennzeichen ändern - Alle Mitarbeiter (Kopieren) .
- Bearbeiten Sie den Befehl.
- Benennen Sie den Befehl: Begrenzungszeichen ändern - Aktive Mitarbeiter.
- Ändern Sie den Parameter Eingabedatei , um die Konvertierte Datei Ausgabe des Befehls Elementliste in CSV - Aktive Mitarbeiter zu verwenden.
- Speichern Sie den Befehl.
Schritt 11: Prüfen Sie die Differenzen mit aktiven Mitarbeitern
Wie bei der vollständigen Mitarbeiterliste muss auch die gefilterte aktive Mitarbeiterliste, die von XML in tabulatorgetrennt konvertiert wurde, in kommagetrennt konvertiert werden.
- Kopieren Sie den Befehl Erweiterte Abfrage - Alle Mitarbeiter .
- Verbinden Sie die Out der Befehlsgruppe mit dem Befehl Erweiterte Abfrage - Alle Mitarbeiter (Kopieren) . Wenn Sie den Befehl "Erweiterte Abfrage - Alle Mitarbeiter" mit dem Befehl "Gruppe Ende" verbinden, wird sichergestellt, dass alles, was mit dem Befehl "Gruppe Anfang" verbunden ist, beendet wird, bevor die Kette zu den Befehlen im Befehl "Gruppe Ende" weitergeht.
- Bearbeiten Sie den Befehl
- Benennen Sie den Befehl: Erweiterte Abfrage - Aktive Mitarbeiter.
- Ändern Sie im Abschnitt Tabellen den Parameter Datei für beide Tabellen:
Tabelle | Datei |
XML | CSV-Ergebnisausgabe aus dem Befehl Begrenzungszeichen ändern - Aktive Mitarbeiter |
CSV | Ausgabe von Smart-Filterzeilen aus den Smart-Filterzeilen - nur aktiv, Befehl CSV-Daten |
- Speichern Sie den Befehl.
Schritt 12: Testen Sie die Übung
Testen Sie nun, nachdem die Kette vollständig ist, das Ergebnis.
- Veröffentlichen Sie die Kette.
- Klicken Sie auf Ausführen und wählen Sie dann Kette ausführen.
- Sobald die Kette abgeschlossen ist, klicken Sie auf den Knoten Erweiterte Abfrage - Aktive Mitarbeiter.
- Bestätigen Sie auf der Registerkarte "Ausgaben", dass 4 Datensätze ausgegeben wurden.
- Klicken Sie auf die Registerkarte Protokolle und bestätigen Sie, dass die Mitarbeiter-IDs mit den unten aufgeführten Datensätzen übereinstimmen, die von der Abfrage zurückgegeben wurden.
Mitarbeiter-ID
01-6875791
63-0417180
78-3600453
85-6818050
Um mehr über die Datentransformation mit Hilfe von Chains zu erfahren, schauen Sie sich die Connected Learning Paths - Transformation Introductionan!