Gå til indhold

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.

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.

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 variable læser den undervejs, i et hvilket som helst felt;
  • {{nom}} læser den i en skabelon (Transform template, Map);
  • objektet vars læ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.

  • 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.

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.

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 typeDet, du sender
Numerisk--param Seuil=42
Boolean--param Actif=true (1, yes, on accepteres)
DatoberegningEn dato eller et epoch-tidsstempel
ListeJSON: --param Ids='[1,2,3]'
OpremsningVærdien, valideret mod den tilladte mængde
Brugerdefineret listeEtiketten, konverteret til værdien (RougeFF0000)
MiljøEt navn eller et miljø-id
RestenDen 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.