In dit Aangesloten Leerpad zullen we een Keten maken die illustreert hoe u de Handlebars Connector kunt gebruiken om gegevens uit een HTTP-respons te parsen en variabelen te templateren die in een Keten gebruikt kunnen worden.
| Primair leerdoel | Commandomogelijkheden stuur |
| Secundaire leerdoelen | Workiva Kettingen Aansluiting |
| Vereisten | Configureer Aansluiting stuur aansluiting. Configureer Workiva Chains Connector verbinding. |
| Ondersteunende sjabloon | CLP | Configuratie stuur |
Stap 1: Maak een ketting
- Voeg een nieuwe Ketting toe.
- Geef de Chain CLP | Handlebars Configuration een naam.
- Maak een Chain-variabele. Voer de volgende waarden in voor de naam en waarde van de variabele:
- Variabele Naam: cv-AllStations
- Variabele Waarde: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/station_information.json
- Red de ketting.
Stap 2: JSON-gegevens ophalen
Deze stap gebruikt de HTTP Connector om Citibike-gerelateerde gegevens in JSON-formaat op te halen van een weblocatie.
- Voeg een opdracht GET van de HTTP Connector toe aan het knooppunt Start.
-
Configureer de opdracht met de volgende waarden:
Naam GET - Alle stations Gebruikersnaam <laat leeg> Wachtwoord <laat leeg> CA-certificaat <laat leeg> Certificaat <laat leeg> Certificaat Privé Sleutel <laat leeg> Antwoord tonen Gecontroleerd URL cv-AllStations Kettingvariabele Querystring <laat leeg> Type inhoud toepassing/json Reactie <laat leeg> - Sla de opdracht op.
Stap 3: Iterate door de JSON-gegevens
Gebruik de opdracht Handlebars - Render Text template om de CitiBike-stationgegevens te doorlopen en een indeling te maken die alle individuele stationsgegevens gecombineerd weergeeft.
- Voeg het commando Handlebars - Render Text Template toe aan het canvas Chain.
- Verbind de opdracht GET - All Stations met de opdracht Handlebars - Render Text Template.
- Dubbelklik op de opdracht om deze te bewerken.
- Geef het commando een naam: RTT - JSON-antwoord parsen.
- Voeg een JSON Variabele toe en geef deze de naam citibikeData.
- Gebruik voor het veld Value de variabele Response van de opdracht Get - All Stations.
-
Vul het sjabloonveld met de volgende waarde in:
{{#each citibikeData.data.stations}} {{@index}} | {{naam}} | {{capaciteit}} {{/each}}Hierdoor kan de opdracht het JSON-antwoord doorlopen, waarbij een rootpad van
data.stationswordt gebruikt om tekstwaarden van elke sleutel te leveren: ("naam", "capaciteit"). Bovendien zal het een index waarde toevoegen voor elke rij die verwerkt wordt.
- Sla de opdracht op.
Stap 4: Runtime-variabelen templatiseren
Gebruik de opdracht Handlebars - Render Text Template om variabelen te templatiseren. Hierdoor kan de Chain een tekstsjabloon weergeven dat context geeft aan verschillende onderdelen van de Chain, gebaseerd op de runtime.
- Voeg het commando Handlebars - Render Text Template toe aan het Chain canvas.
- Verbind de opdracht GET - All Stations met de opdracht Handlebars - Render Text Template.
- Dubbelklik op de opdracht om deze te bewerken met de volgende waarden:
- Geef het commando een naam: RTT - Variabelen indelen.
- Voeg de volgende informatie toe en vul deze in voor de sectie variabelen:
De velden Waarde worden ingevuld vanuit de Runtime vervolgkeuzelijst van het linkervariabelenpaneel.- Variabele 1
- Variabele Naam: Keten-Env
- Waarde: <Chain.Enviroment> (Runtime Variabele)
- Variabele 2
- Variabele Naam: Keten-Exec-Tijd
- Waarde: <Chain.ExecutionDateTime> (Runtimevariabele)
- Variabele 3
- Variabele Naam: System-RunTime-Month
- Waarde: <System.DateTime> (Runtimevariabele)
- Klik op de <System.DateTime> runtime variabele om de variabele te transformeren.
- Op selecteert u Transformatie, kiest u Datum/tijd parseren en klikt u op "+".
- Kies in het eerste waardeveld "ISO Extended (Platform Standard)".
- Voer in het veld Uitvoer datum formaat "%m" in.
- Kies in het veld Invoer datum tijdzone"UTC (Etc/UTC)".
- Kies in het veld Tijdzone uitgangsdatum"UTC (Etc/UTC)".
- Klik op accepteren .
- Variabele 4
- Variabele Naam: System-RunTime-Year
- Waarde: <System.DateTime> (Runtimevariabele)
- Klik op de <System.DateTime> runtime variabele om de variabele te transformeren
- In Selecteer Transformatie, kies Datum/tijd parseren, en klik op de "+".
- Kies in het eerste waardeveld "ISO Extended (Platform Standard)".
- In het veld Uitvoer datum formaat, voert u "%Y" in.
- Kies in het veld Invoer datum tijdzone"UTC (Etc/UTC)".
- Kies in het veld Tijdzone uitgangsdatum"UTC (Etc/UTC)".
- Klik op accepteren .
- Variabele 1
- Vul het sjabloonveld met de volgende waarden in:
- Ketenomgeving: {{Chain-Env}}
- Datum uitvoering keten: {{Chain-Exec-Time}}
- System Runtime Maand-jaar: {{System-RunTime-Month}}-{System-RunTime-Year}}
- Sla de opdracht op.
Stap 5: Werkruimtevariabelen aanpassen - Werkruimten verkrijgen
Gebruik Handlebars - Render Text Template om onderdelen van een Workspace te templatiseren. Hierdoor kan de Chain een tekstsjabloon renderen dat context verschaft van verschillende componenten van de Workspace waarin de Chain zich bevindt.
- Voeg het Get Workspaces commando van de Workiva Chains connector toe aan het Chain canvas.
- Verbind de opdracht GET - All Stations met de opdracht Get Workspaces.
- Dubbelklik op de opdracht om deze te bewerken en bevestig dat de verbinding correct is.
- Sla de opdracht op.
Stap 6: Werkruimtevariabelen templatiseren - RTT - WerkruimteID
- Voeg het commando Handlebars - Render Text Template toe aan het Chain canvas.
- Verbind de opdracht Get Workspaces met de opdracht Handlebars - Render Text Template.
- Dubbelklik op de opdracht om deze te bewerken.
- Geef de opdracht de naam RTT - WorkspaceID.
-
Voer de volgende waarde in het veld Template in:
{{#each workspaces}} {{#if (equal name "<(chain.workspace)>") }} {{id}}{{/if}}{{/each}}
- Selecteer de variabele <Chain.Workspace> in de sectie runtimevariabelen in het linkerpaneel
- Voer in het veld JSON Variables de volgende informatie in:
- Variabele Naam: werkruimten
- Variabele Waarde:: <Werkruimten>
- Vouw de variabele Get Workspaces uit in het variabelenpaneel aan de linkerkant en selecteer Workspaces.
- Sla de opdracht op.
Stap 7: Werkruimtevariabelen aanpassen - Omgevingen ophalen
- Voeg het commando Get Environments van de Workiva Chains Connector toe aan het Chain canvas.
- Verbind de opdracht RTT - WorkspaceID met de opdracht Get Environments.
- Dubbelklik op de opdracht om deze te bewerken en voer de variabele Rendered Text van de opdracht RTT-WorkspaceID in het veld Workspace ID in.
- Sla de opdracht op.
Stap 8: Werkruimtevariabelen templatiseren - RTT - EnvironmentID
- Voeg het commando Handlebars - Render Text Template toe aan het Chain canvas.
- Verbind de opdracht Get Environments met de opdracht Handlebars - Render Text Template.
-
Dubbelklik op deze opdracht om deze te bewerken met de volgende waarden:
- Geef de opdracht een naam: RTT - EnvironmentID.
-
Voer de volgende waarde in het veld Template in:
{{#each environments}} {{#if (equal name "<(chain.environment)>") }} {{id}}{{/if}}{{/each}}De
<Chain.Environment>is een Runtime variabele, en is te vinden in het linkerpaneel. - Voer in het veld JSON variabelen de volgende informatie in:
- Variabele Naam: omgevingen
- Variabele Waarde: <Omgevingen>
Deze waarde vindt u in het linker variabelenpaneel onder de opdracht Get Environments.
- Sla de opdracht op.
Stap 9: De oefening testen
- Publiceer de keten.
- Klik op Uitvoeren en selecteer vervolgens Keten uitvoeren.
- Zodra de uitvoering van de Chain voltooid is:
Bevestig dat alle knooppunten met succes zijn uitgevoerd door op de uitgevoerde RTT - Parsing JSON Response Command te klikken en te controleren of de eerste paar regels van de uitvoer als volgt zijn: -
Klik op de uitgevoerde opdracht RTT - Templatizing Variables en controleer of de weergegeven tekst correct is op het tabblad "Logs".
Opmerking: Deze waarden veranderen afhankelijk van de omgeving waarin de Chain wordt uitgevoerd en het moment waarop deze wordt uitgevoerd.
- Klik op het knooppunt RTT - Environment ID en selecteer het tabblad Outputs.
- Controleer of er een waarde is ingevuld voor de weergegeven tekstvariabele (ook dit resultaat is afhankelijk van uw Omgeving).
Meer leren
Om meer te leren over datatransformatie met behulp van Chains, kunt u Connected Learning Paths - Inleiding Transformatie raadplegen