I denne tilkoblede læringsstien skal vi lage en kjede som illustrerer hvordan man konverterer en XML-fil til CSV. Vi vil også utforske hvordan man kan sammenligne datasett for å isolere forskjeller.
| Primært læringsmål | XML-koblingen |
| Sekundære læringsmål | Smarte filtre for tabelltransformasjon, endringsskilletegn og avanserte spørrekommandoer |
| Forutsetninger | Konfigurer XML-koblingstilkobling |
| Støttemal | CLP | Tilgang til XML-data |
Trinn 1: Lag en kjede
- Legg til en ny Chain , og gi kjeden følgende navn: CLP | Tilgang til XML-data .
- Opprett to kjedevariabler som følger:
- Under Kjedevariabler klikker du to ganger på plusstegnet (+).
- Bruk følgende navn og verdier for variablene:
- XML-variabel
- Navn: cv-XML-Ansatt
- Verdi: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employees.xml
- CSV-variabel
- Navn: cv-CSV-Ansatt
- Verdi: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/employee_detail.csv
- XML-variabel
- Redd kjeden.
Trinn 2: Hent data i CSV-format
Bruk HTTP-koblingen til å hente data om antall ansatte i CSV-format. I senere trinn vil vi hente lignende informasjon om antall ansatte i XML-format og deretter sammenligne datasettene for å identifisere forskjeller.
- Legg til en GET -kommando fra HTTP-koblingen til startnoden.
-
Konfigurer kommandoen ved å bruke følgende verdier:
Navn GET - Antall ansatte i CSV-format Brukernavn <leave blank> Passord <leave blank> CA-sertifikat <leave blank> Sertifikat <leave blank> Privat nøkkel for sertifikat <leave blank> Vis svar Kontrollert URL cv-CSV-Ansatt Kjedevariabel Spørrestreng <leave blank> Innholdstype tekst/csv Svar <leave blank> - Lagre kommandoen.
Trinn 3: Hent data i XML-format
Bruk HTTP-koblingen til å hente data om antall ansatte i XML-format. Som nevnt i trinn 2, vil vi i et påfølgende trinn sammenligne XML-datasettet med CSV-datasettet for å identifisere forskjeller.
- Legg til en GET -kommando fra HTTP-koblingen til kjeden.
- Koble startnoden (GET - Headcount i CSV-format) til GET -kommandoen.
-
Konfigurer kommandoen ved å bruke følgende verdier:
Navn GET - Antall ansatte i XML-format Brukernavn <leave blank> Passord <leave blank> CA-sertifikat <leave blank> Sertifikat <leave blank> Privat nøkkel for sertifikat <leave blank> Vis svar Kontrollert URL cv-XML-Ansatt Kjedevariabel Spørrestreng <leave blank> Innholdstype applikasjon/xml Svar <leave blank> - Lagre kommandoen.
Trinn 4: Konverter XML-filen til avgrenset
Bruk XML-koblingen til å konvertere XML-dataene til et CSV-format, slik at vi kan bruke kommandoer senere i kjeden som forventer data i et avgrenset format.
- Legg til en Elementliste til CSV -kommando fra XML-koblingen til kjeden.
- Koble GET - Headcount in XML Format -kommandoen til Element List to CSV -kommandoen.
- Konfigurer kommandoen ved å bruke følgende verdier:
- For parameteren Input File velger du Response Output fra kommandoen GET - Headcount in XML Format .
- La parameteren Input Text stå tom.
- For parameteren Sti til rot skriver du inn følgende konvoluttinformasjon:
/employee_data/employee - Merk av for parameteren Forhåndsvisningsresultat .
-
For seksjonen Kolonner klikker du på knappen Legg til 12 ganger.
For hver av de tillagte kolonnene skriver du inn navnet på feltet fra dataposten som ble forhåndsvist i forrige trinn, i både feltet Kolonnenavn og XPath . Eksempel
: emp_id⚠️ XPath-feltet skiller mellom store og små bokstaver og må samsvare med store og små bokstaver i konvolutten.
- For parameteren Flerverdiskilletegn skriver du inn et linjetegn (|).
- Lagre kommandoen.
- Publiser, utfør og kjør kjeden.
-
Se gjennom fanen Logg i kommandonoden Elementliste til CSV - Alle ansatte og bekreft at en liste over ansatte vises.
⚠️ Ikke hopp over gjennomgangen av utførelse og resultater i dette trinnet, da det vil bli opprettet en kopi av denne kommandoen i kjeden, og eventuelle feil må deretter korrigeres på tvers av flere forekomster av kommandoen.
Trinn 5: Endre den konverterte XML-filen fra tabulatoravgrenset til kommaavgrenset
Bruk koblingen for tabelltransformasjon til å konvertere utdataene som genereres fra XML-konverteringen fra et tabulatoravgrenset format til et kommaavgrenset format.
- Legg til en Endre skilletegn -kommando fra Tabelltransformasjonskoblingen til kjeden.
- Koble kommandoen Elementliste til CSV - Alle ansatte til kommandoen Endre skilletegn .
- Konfigurer kommandoen ved å bruke følgende verdier:
- Navn: Endringsskilletegn - Alle ansatte
- Inndatafil: Konverterte filutdata fra Elementlisten til CSV - Alle ansatte Kommando
- Inndataskilletegn: \t
- Utdataskilletegn: , (komma)
- Lagre kommandoen.
Trinn 6: Sammenlign CSV- og XML-datasettene for å identifisere forskjeller
Bruk Avansert spørring for å systematisk identifisere forskjeller mellom XML- og native CSV-datasett. I dette eksemplet identifiserer du eventuelle poster i XML-datasettet som er forskjellige fra eller mangler fra CSV-datasettet. Eventuelle tilleggsoppføringer som finnes i CSV-datasettet som ikke finnes i XML-datasettet, vil ikke bli identifisert av denne øvelsen.
- Legg til en Avansert spørring -kommando fra Tabelltransformasjon - koblingen til kjeden.
- Koble kommandoen Endringsskilletegn - Alle ansatte til kommandoen Avansert spørring .
- Navngi kommandoen: Avansert spørring - Alle ansatte .
- I delen Tabeller klikker du på knappen Legg til for å legge til en ny fane.
- For den første tabellen:
- Spesifiser CSV-resultatet fra kommandoen Endringsskilletegn - Alle ansatte .
- Spesifiser XML som Tabellnavn .
- For den andre tabellen:
-
Spesifiser Svarutdata fra GET - Headcount in CSV Format -kommandoen.
Spesifiser CSV som Tabellnavn . - I spørringsparameteren skriver du inn følgende:
Velg * fra XML UNNTAT Velg * fra CSV - I feltene Input Delimiter og Output Delimiter, angi Comma .
- Kryss av for alternativet Forhåndsvis resultater .
-
Spesifiser Svarutdata fra GET - Headcount in CSV Format -kommandoen.
- For den første tabellen:
- Lagre kommandoen.
- Publiser, utfør og kjør kjeden.
-
Se gjennom fanen Logg i kommandonoden Avansert spørring - Alle ansatte og bekreft at ansatt-ID-ene samsvarer med nedenstående for postene som returneres av spørringen.
Ansatt-ID 01-6875791 10-4199621 38-3932553 63-0417180 78-3600453 85-6818050 97-2828467
Trinn 7: Legg til en kommandogruppe
Legg til en kommandogruppe i kjeden for å organisere kommandoer bedre. Selv om dette trinnet er nødvendig i forbindelse med denne øvelsen, er det ikke et teknisk krav for kjeden. Dette trinnet er kun for å illustrere evnen til å organisere noder i en kjede.
- Legg til en kommandogruppe i kjeden.
- Koble kommandoen GET - Headcount in XML Format til In-delen av kommandogruppen.
- Klikk på kommandogruppen, og velg deretter pipetteikonet for å endre kommandofargen til rød .
- Navngi gruppen: Aktive ansatte .
Trinn 8: Filtrer CSV-data kun for aktive ansatte
Bruk et smartfilter for å bare beholde ansattpostene der den ansatte er aktiv. Når vi definerer filteret, antar vi at det at feltet for avsluttet (terminert) er tomt, indikerer at en ansatt er aktiv.
- Legg til en Smart Filter Rows -kommando fra Tabular Transformation Connector til kjeden.
- Koble Gruppestart fra kommandogruppen til Smartfilter -kommandoen.
- Konfigurer kommandoen ved å bruke følgende verdier:
- Navngi kommandoen: Smartfilterrader - CSV-data - Aktive ansatte .
- For parameteren Input file velger du Response Output fra kommandoen GET - Headcount in CSV Format.
- La parameteren Output for fil stå tom.
- Spesifiser Komma som Avgrensningstegn .
- I Filtre -delen, fullfør følgende trinn:
- Klikk på Legg til -knappen på Tekst -filtrene.
- I parameteren Kolonnenavn skriver du inn kalt .
- Kryss av for alternativet Ufølsom for store og små bokstaver .
- Fra rullegardinmenyen Betingelse velger du Er lik .
- I parameteren Sammenlign tekst skriver du inn true .
- Kryss av for alternativet Ikke .
- La avmerkingsboksen Trim være umarkert.
Dette filteret vil nå identifisere alle poster der feltet «termed» ikke inneholder verdien true (det vil si at det inneholder «false» eller er tomt).
- La alternativet Forhåndsvisningsresultat være markert.
- Alternativet Invers lar smartfilteret enten beholde (avkrysset) eller fjerne (ikke avkrysset) alle rader som samsvarer med filterkriteriene. I denne øvelsen ønsker vi å beholde alle radene der feltet «termined» har verdien sann eller blank. For å
oppnå dette, merk av i avmerkingsboksen Invers . - Lagre kommandoen.
Trinn 8: Filtrer CSV-data kun for aktive ansatte
Bruk et smartfilter for å bare beholde ansattpostene der den ansatte er aktiv. Når vi definerer filteret, antar vi at det at feltet for avsluttet ("terminert") er tomt, indikerer at en ansatt er aktiv.
- Legg til en Smart Filter Rows -kommando fra Tabular Transformation Connector til kjeden.
- Koble Gruppestart fra kommandogruppen til Smartfilter -kommandoen.
- Konfigurer kommandoen ved å bruke følgende verdier:
- Navngi kommandoen: Smartfilterrader - CSV-data - Aktive ansatte .
- For Input-fil velger du Response Output fra kommandoen GET - Headcount i CSV-format.
- La parameteren Output for fil stå tom.
- Spesifiser Komma som Avgrensningstegn .
- I Filtre -delen,
- Klikk på Legg til -knappen på Tekst -filtrene.
- I parameteren Kolonnenavn skriver du inn kalt .
- Kryss av for alternativet Ufølsom for store og små bokstaver .
- Fra rullegardinmenyen Betingelse velger du Er lik .
- I parameteren Sammenlign tekst skriver du inn true .
- Kryss av for alternativet Ikke .
- La avmerkingsboksen Trim være umarkert.
Dette filteret vil nå identifisere alle poster der feltet «termed» ikke inneholder verdien true (det vil si at det inneholder «false» eller er tomt).
- La avmerkingsboksen Forhåndsvisningsresultat være merket (avkrysset).
- Alternativet Invers lar smartfilteret enten beholde (avkrysset) eller fjerne (ikke avkrysset) alle rader som samsvarer med filterkriteriene. I denne øvelsen ønsker vi å beholde alle radene der det angitte feltet har verdien «true» eller «blank». For å oppnå dette, merk av for Invers .
- Lagre kommandoen.
Trinn 9: Filtrer XML-data under konvertering til avgrenset
I dette trinnet filtrerer vi XML-dataene mens vi konverterer dem til et avgrenset format for å identifisere kun aktive ansatte. Dette datasettet vil deretter bli sammenlignet med det filtrerte CSV-datasettet for å identifisere forskjeller.
- Kopier Elementliste til CSV - Alle ansatte -kommandoen.
- Koble Gruppestart fra kommandogruppen til Elementliste til CSV - Alle ansatte (Kopier) -kommandoen.
- Rediger kommandoen, og gi den navnet: Elementliste til CSV - Aktive ansatte .
- I parameteren «Sti til rot» skriver du inn følgende:
/employee_data/employee[termed!='true']
Dette vil nå identifisere alle poster der feltet «termed» ikke inneholder verdien true (det vil si at det inneholder «false» eller er tomt). - Lagre kommandoen.
Trinn 10: Endre de filtrerte XML-dataene til kommaseparerte
Som med den fullstendige ansattlisten, må den filtrerte aktive ansattlisten som er konvertert fra XML til tabulatoravgrenset, konverteres til kommaavgrenset.
- Kopier kommandoen Endre skilletegn - Alle ansatte .
- Koble kommandoen Elementliste til CSV - Aktive ansatte til kommandoen Elementendringsskilletegn - Alle ansatte (Kopier) .
- Konfigurer kommandoen ved hjelp av følgende verdier.
- Navn: Endringsskilletegn - Aktive ansatte.
- Endre parameteren Input file for å bruke kommandoen Converted File Output from the Element List to CSV - Active Employees .
- Lagre kommandoen.
Trinn 11: Sjekk for forskjeller med aktive ansatte
Som med den fullstendige ansattlisten, må den filtrerte aktive ansattlisten som er konvertert fra XML til tabulatoravgrenset, konverteres til kommaavgrenset.
- Kopier kommandoen Avansert spørring - Alle ansatte .
- Koble Ut fra kommandogruppen til kommandoen Avansert spørring - Alle ansatte (Kopier) . Å koble kommandoen Avansert spørring - Alle ansatte til Gruppeutgang sikrer at alt som er koblet til Gruppestart fullføres før kjeden går videre til kommandoene i Gruppeutgang.
- Konfigurer kommandoen ved å bruke følgende verdier:
- Navn: Avansert spørring - Aktive ansatte.
-
I delen Tabeller endrer du parameteren Fil for begge tabellene med følgende verdier:
Tabell Fil XML CSV-resultatutdata fra endringsskilletegnet - kommandoen Aktive ansatte CSV-fil Smart filterrad-utdata fra Smart filterrader - Kun aktive, CSV-datakommando
- Lagre kommandoen.
Trinn 12: Test øvelsen
Nå som kjeden er fullført, test resultatet.
- Publiser Kjeden.
- Klikk på Utfør og velg deretter Kjør kjede .
- Når kjeden har fullført kjøringen, klikker du på noden Avansert spørring - Aktive ansatte .
- I
-
Klikk på Logger-fanen og bekreft at ansatt-ID-ene samsvarer med nedenstående for postene som returneres av spørringen.
Ansatt-ID 01-6875791 63-0417180 78-3600453 85-6818050