W tej połączonej ścieżce edukacyjnej stworzymy łańcuch, który ilustruje, jak wykorzystać Handlebars Connector do analizowania danych z odpowiedzi HTTP i szablonowania zmiennych, które mogą być używane w całym łańcuchu.
| Podstawowy cel edukacyjny | Możliwości poleceń kierownicy |
| Dodatkowe cele edukacyjne | Złącze łańcuchowe Workiva |
| Wymagania wstępne | Skonfiguruj złącze kierownicy . Skonfiguruj połączenie Workiva Chains Connector. |
| Szablon pomocniczy | CLP | Konfiguracja kierownicy |
Krok 1: Utwórz łańcuch
- Dodaj nowy łańcuch .
- Nazwij Łańcuch CLP | Konfiguracja Kierownicy.
- Utwórz zmienną łańcuchową. Wprowadź następujące wartości dla nazwy i wartości zmiennej:
- Nazwa zmiennej: cv-AllStations
- Wartość zmiennej: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/station_information.json
- Uratuj łańcuch.
Krok 2: Pobieranie danych JSON
Ten krok wykorzystuje konektor HTTP do pobierania danych związanych z Citibike w formacie JSON z lokalizacji internetowej.
- Dodaj polecenie GET z konektora HTTP do węzła Start.
-
Skonfiguruj polecenie przy użyciu następujących wartości:
Nazwa GET - Wszystkie stacje Nazwa użytkownika <pozostaw puste> Hasło <pozostaw puste> Certyfikat CA <pozostaw puste> Certyfikat <pozostaw puste> Klucz prywatny certyfikatu <pozostaw puste> Pokaż odpowiedź Sprawdzone Adres URL cv-AllStations Zmienna łańcuchowa Ciąg zapytania <pozostaw puste> Typ zawartości application/json Odpowiedź <pozostaw puste> - Zapisz polecenie.
Krok 3: Iteruj przez dane JSON
Użyj polecenia Handlebars - Render Text template, aby iterować dane stacji CitiBike w celu uzyskania formatu zawierającego połączone dane poszczególnych stacji.
- Dodaj polecenie Handlebars - Render Text Template do kanwy Chain.
- Połącz polecenie GET - All Stations z poleceniem Handlebars - Render Text Template.
- Kliknij dwukrotnie polecenie, aby je edytować.
- Nazwij polecenie: RTT - Parsing JSON Response.
- Dodaj zmienną JSON i nazwij ją citibikeData.
- Dla pola Value użyj zmiennej Response z polecenia Get - All Stations.
-
Wypełnij pole szablonu następującą wartością:
{{#each citibikeData.data.stations}} {{@index}} | {{name}} | {{capacity}} {{/each}}Umożliwi to poleceniu iterację przez odpowiedź JSON, przy użyciu ścieżki głównej
data.stationsw celu dostarczenia wartości tekstowych z każdego klucza: ("name", "capacity"). Ponadto dla każdego przetwarzanego wiersza dodawana jest wartość indeksu .
- Zapisz polecenie.
Krok 4: Szablonowanie zmiennych środowiska uruchomieniowego
Użyj polecenia Handlebars - Render Text Template do szablonowania zmiennych. Umożliwi to łańcuchowi renderowanie szablonu tekstowego, który zapewnia kontekst dla różnych komponentów łańcucha w oparciu o jego czas działania.
- Dodaj polecenie Handlebars - Render Text Template do kanwy Chain.
- Połącz polecenie GET - All Stations z poleceniem Handlebars - Render Text Template.
- Kliknij dwukrotnie polecenie, aby je edytować, używając następujących wartości:
- Nazwij polecenie: RTT - Templatizing Variables.
- Dodaj i wypełnij następujące informacje dla sekcji variables:
Pola Value zostaną wypełnione z listy rozwijanej Runtime w lewym panelu variables.- Zmienna 1
- Nazwa zmiennej: Chain-Env
- Wartość: <Chain.Enviroment> (Runtime Variable)
- Zmienna 2
- Nazwa zmiennej: Chain-Exec-Time
- Wartość: <Chain.ExecutionDateTime> (Runtime Variable)
- Zmienna 3
- Nazwa zmiennej: System-RunTime-Month
- Wartość: <System.DateTime> (Runtime Variable)
- Kliknij zmienną runtime <System.DateTime>, aby ją przekształcić.
- Na stronie wybierz Transformation, wybierz Parse Date/Time i kliknij "+".
- W pierwszym polu wartości wybierz "ISO Extended (Platform Standard)".
- W polu Output date format wpisz "%m".
- W polu Wprowadź strefę czasową daty, wybierz "UTC (Etc/UTC)".
- W polu Output date timezone, wybierz "UTC (Etc/UTC)".
- Kliknij Akceptuj.
- Zmienna 4
- Nazwa zmiennej: System-RunTime-Year
- Wartość: <System.DateTime> (Runtime Variable)
- Kliknij zmienną runtime <System.DateTime>, aby przekształcić zmienną
- W Wybierz transformację, wybierz Parsuj datę/godzinę i kliknij "+".
- W pierwszym polu wartości wybierz "ISO Extended (Platform Standard)".
- W polu Output date format wpisz "%Y".
- W polu Wprowadź strefę czasową daty, wybierz "UTC (Etc/UTC)".
- W polu Output date timezone, wybierz "UTC (Etc/UTC)".
- Kliknij Akceptuj.
- Zmienna 1
- Wypełnij pole szablonu następującymi wartościami:
- Środowisko łańcucha: {{Chain-Env}}
- Data wykonania łańcucha: {{Chain-Exec-Time}}
- Czas działania systemu miesiąc-rok: {{System-RunTime-Month}}-{{System-RunTime-Year}}
- Zapisz polecenie.
Krok 5: Szablonowanie zmiennych obszaru roboczego - Pobierz obszary robocze
Użyj Handlebars - Render Text Template do szablonowania komponentów obszaru roboczego. Umożliwi to łańcuchowi renderowanie szablonu tekstowego, który zapewnia kontekst z różnych komponentów obszaru roboczego, w którym znajduje się łańcuch.
- Dodaj polecenie Get Workspaces z konektora Workiva Chains do kanwy Chain.
- Połącz polecenie GET - All Stations z poleceniem Get Workspaces.
- Kliknij dwukrotnie polecenie, aby je edytować, i potwierdź, że połączenie jest prawidłowe.
- Zapisz polecenie.
Krok 6: Szablonowanie zmiennych obszaru roboczego - RTT - WorkspaceID
- Dodaj polecenie Handlebars - Render Text Template do kanwy Chain.
- Połącz polecenie Get Workspaces z poleceniem Handlebars - Render Text Template.
- Kliknij dwukrotnie polecenie, aby je edytować.
- Nazwij polecenie RTT - WorkspaceID.
-
Wprowadź następującą wartość w polu Template:
{{#each workspaces}} {{#if (equal name "<(chain.workspace)>") }} {{id}}{{/if}}{{/each}}
- Wybierz zmienną <Chain.Workspace> z sekcji zmiennych uruchomieniowych w lewym panelu
- W polu JSON Variables wprowadź następujące informacje:
- Nazwa zmiennej: obszary robocze
- Wartość zmiennej:: <Obszary robocze>
- Rozwiń zmienną Get Workspaces z panelu zmiennych po lewej stronie i wybierz Workspaces.
- Zapisz polecenie.
Krok 7: Szablonowanie zmiennych obszaru roboczego - Pobierz środowiska
- Dodaj polecenie Get Environments z Workiva Chains Connector do kanwy Chain.
- Połącz polecenie RTT - WorkspaceID z poleceniem Get Environments.
- Kliknij dwukrotnie polecenie, aby je edytować i wprowadź zmienną Rendered Text z polecenia RTT-WorkspaceID w polu Workspace ID.
- Zapisz polecenie.
Krok 8: Szablonowanie zmiennych obszaru roboczego - RTT - EnvironmentID
- Dodaj polecenie Handlebars - Render Text Template do kanwy Chain.
- Połącz polecenie Get Environments z poleceniem Handlebars - Render Text Template.
-
Kliknij dwukrotnie to polecenie, aby je edytować, używając następujących wartości:
- Nazwij polecenie: RTT - EnvironmentID.
-
Wprowadź następującą wartość w polu Template:
{{#each environments}} {{#if (equal name "<(chain.environment)>") }} {{id}}{{/if}}{{/each}}Zmienna
<Chain.Environment>jest zmienną Runtime i można ją znaleźć w lewym panelu. - W polu JSON variables wprowadź następujące informacje:
- Nazwa zmiennej: environments
- Wartość zmiennej: <Environments>
Wartość ta znajduje się w lewym panelu zmiennych pod poleceniem Get Environments.
- Zapisz polecenie.
Krok 9: Przetestuj ćwiczenie
- Opublikuj the Chain.
- Kliknij Execute, a następnie wybierz Run Chain.
- Po zakończeniu działania łańcucha:
Potwierdź, że wszystkie węzły zostały pomyślnie wykonane, klikając wykonane polecenie RTT - Parsing JSON Response Command i sprawdzając, czy kilka pierwszych wierszy danych wyjściowych wygląda następująco: -
Kliknij wykonane polecenie RTT - Templatizing Variables i sprawdź, czy renderowany tekst jest poprawny w zakładce "Logs".
Uwaga: Wartości te będą się zmieniać w zależności od środowiska, w którym łańcuch jest uruchamiany, oraz od czasu jego uruchomienia.
- Kliknij węzeł RTT - Environment ID i wybierz zakładkę Outputs.
- Potwierdź, że dla zmiennej renderowanego tekstu pojawiła się wartość (ponownie, wynik będzie się różnił w zależności od środowiska).
Dowiedz się więcej
Aby dowiedzieć się więcej na temat transformacji danych przy użyciu łańcuchów, sprawdź Connected Learning Paths - Transformation Introduction