Zmienne i dane w scenariuszu
Scenariusz ma trzy mechanizmy przenoszenia danych. Uzupełniają się one wzajemnie, a wiedza o tym, który wybrać, pozwala uniknąć wielu zbędnych połączeń.
1. Tokeny na połączeniach
Section titled “1. Tokeny na połączeniach”Mechanizm główny: blok wytwarza wartość, ta podróżuje po połączeniu, ewentualnie przekształcona przez selektor, i dociera do wejścia następnego bloku.
Jest to jawne i czytelne: przepływ danych jest rysunkiem.
Warto go stosować do wszystkiego, co lokalne — do wyniku wywołania konsumowanego przez wywołanie kolejne.
2. Zmienne uruchomienia
Section titled “2. Zmienne uruchomienia”Nazwana przestrzeń, właściwa dla danego wykonania:
- Ustaw zmienną zapisuje wartość;
- Pobierz zmienną odczytuje ją ponownie;
- wartość typu
variableodczytuje ją w locie, w dowolnym polu; {{name}}odczytuje ją w szablonie (Transform template, Map);- obiekt
varsodczytuje ją w akcji kodu; - Dodaj do listy oraz Usuń z listy mogą zapisywać wprost do zmiennej źródłowej.
Zmienna uruchomienia przesłania środowisko na czas wykonania: żądanie, które
używa {{token}}, weźmie token ustawiony przez scenariusz, a nie token ze
środowiska.
Warto ją stosować do tego, co globalne dla wykonania: tokena, identyfikatora korelacji, licznika — zamiast przeciągać połączenie przez cały graf.
3. Parametry i wyjścia
Section titled “3. Parametry i wyjścia”-
Blok Input / Param deklaruje jeden lub więcej nazwanych parametrów, każdy z własnym typem. Emituje jeden obiekt
{ name: value, … }.Wartości pochodzą, w tej kolejności, z: uruchomienia (interfejs lub MCP), wiersza poleceń (
--param name=value) albo z pytania interaktywnego, jeśli scenariusz dotrze do bloku bez dostępnej wartości. -
Blok Output / Return udostępnia wywołującemu nazwany wynik. Scenariusz wywołany przez akcję Uruchom scenariusz udostępnia swoje wyjścia na porcie
output:<name>wywołującego.
To właśnie umożliwia komponowanie: scenariusz „logowanie”, który zwraca token wykorzystywany ponownie przez pozostałe.
Środowiska
Section titled “Środowiska”Akcja żądania ma port env: podłączenie do niego środowiska (wartość typu
environment albo nazwa środowiska) powoduje wykonanie wywołania w tym
środowisku.
To sposób na uruchomienie tego samego scenariusza wobec staging, a potem
production, bez duplikowania czegokolwiek — wystarczy przekazać środowisko
jako parametr scenariusza.
Rozwiązywanie w trybie headless
Section titled “Rozwiązywanie w trybie headless”Wszystkie wartości typowane rozwiązują się tak samo w interfejsie i bez okna: własne listy, wyliczenia, podglądy środowiska. Scenariusz, który działa w interfejsie, działa też w CI.
Niejednoznaczna nazwa środowiska (dwa środowiska o tej samej nazwie) powoduje jawny błąd: należy wtedy przekazać identyfikator.
Konwersja parametrów w wierszu poleceń
Section titled “Konwersja parametrów w wierszu poleceń”--param przyjmuje tekst; Restorm konwertuje go zgodnie z zadeklarowanym
typem parametru:
| Zadeklarowany typ | Co się przekazuje |
|---|---|
| Liczba | --param Seuil=42 |
| Wartość logiczna | --param Actif=true (1, yes, on są przyjmowane) |
| Obliczenia na datach | Data albo znacznik czasu epoch |
| Lista | JSON: --param Ids='[1,2,3]' |
| Wyliczenie | Wartość, weryfikowana wobec dozwolonego zbioru |
| Własna lista | Etykieta, przekształcana w wartość (Rouge → FF0000) |
| Środowisko | Nazwa albo identyfikator środowiska |
| Pozostałe | Surowy ciąg znaków |
Niemożliwa konwersja powoduje niepowodzenie uruchomienia z czytelnym komunikatem, zamiast wykonania z błędną wartością.