Variabler og data i et scenarie
Et scenarie råder over tre mekanismer til at flytte data rundt. De supplerer hinanden, og at vide hvilken man skal vælge sparer en masse unødig kobling.
1. Tokens på forbindelserne
Section titled “1. Tokens på forbindelserne”Hovedmekanismen: en boks producerer en værdi, den rejser hen ad forbindelsen, eventuelt omformet af en selektor, og lander i den næste boks’ indgang.
Det er eksplicit og læsbart: datastrømmen er tegningen.
Brug den til alt det lokale — resultatet af et kald, som forbruges af det næste.
2. Kørselsvariablerne
Section titled “2. Kørselsvariablerne”Et navngivet rum, som hører til den enkelte kørsel:
- Sæt variabel skriver en værdi;
- Hent variabel læser den igen;
- en værdi af typen
variablelæser den undervejs, i et hvilket som helst felt; {{nom}}læser den i en skabelon (Transform template, Map);- objektet
varslæser den i en kodehandling; - Føj til liste og Fjern fra liste kan skrive direkte i kildevariablen.
En kørselsvariabel dækker over miljøet, så længe kørslen varer: en anmodning,
der bruger {{token}}, tager det token, scenariet har sat, frem for miljøets.
Brug den til det, der er globalt for kørslen: et token, et korrelations-id, en tæller — frem for at trække en forbindelse tværs gennem hele grafen.
3. Parametre og outputs
Section titled “3. Parametre og outputs”-
Boksen Input / Param erklærer en eller flere navngivne parametre, hver med sin type. Den udsender ét enkelt objekt
{ nom: valeur, … }.Værdierne kommer, i denne rækkefølge: fra starten (brugerflade eller MCP), fra kommandolinjen (
--param name=value) eller fra en interaktiv forespørgsel, hvis scenariet når frem til boksen uden en tilgængelig værdi. -
Boksen Output / Return stiller et navngivet resultat til rådighed for den kaldende. Et scenarie, der kaldes af en Kør scenarie-handling, gør sine outputs synlige på den kaldendes port
output:<name>.
Det er dette, der gør det muligt at komponere: et »log ind«-scenarie, der returnerer et token, som de øvrige genbruger.
Miljøer
Section titled “Miljøer”En anmodningshandling har en env-port: kobler du et miljø til den (en værdi af
typen environment eller et miljønavn), køres kaldet i det miljø.
Det er måden at køre det samme scenarie mod staging og derefter production
uden at duplikere noget som helst — send miljøet med som parameter til scenariet.
Opløsning i headless-tilstand
Section titled “Opløsning i headless-tilstand”Alle typede værdier opløses på samme måde i brugerfladen og uden vindue: brugerdefinerede lister, opremsninger, miljøeksempler. Et scenarie, der virker i brugerfladen, virker i CI.
Et flertydigt miljønavn (to miljøer med samme navn) udløser en tydelig fejl: send da id’et i stedet.
Konvertering af parametre på kommandolinjen
Section titled “Konvertering af parametre på kommandolinjen”--param modtager tekst; Restorm konverterer den efter parameterens erklærede
type:
| Erklæret type | Det, du sender |
|---|---|
| Numerisk | --param Seuil=42 |
| Boolean | --param Actif=true (1, yes, on accepteres) |
| Datoberegning | En dato eller et epoch-tidsstempel |
| Liste | JSON: --param Ids='[1,2,3]' |
| Opremsning | Værdien, valideret mod den tilladte mængde |
| Brugerdefineret liste | Etiketten, konverteret til værdien (Rouge → FF0000) |
| Miljø | Et navn eller et miljø-id |
| Resten | Den rå streng |
En umulig konvertering får starten til at fejle med en tydelig besked frem for at køre med en forkert værdi.