Salta ai contenuti

Variabili e dati in uno scenario

Uno scenario dispone di tre meccanismi per far circolare i dati. Si completano a vicenda, e sapere quale scegliere evita molto cablaggio inutile.

Il meccanismo principale: un riquadro produce un valore, questo viaggia sul collegamento, eventualmente rimodellato da un selettore, e arriva nell’input del riquadro successivo.

È esplicito e leggibile: il flusso di dati è il disegno.

Va usato per tutto ciò che è locale — il risultato di una chiamata consumato dalla chiamata successiva.

Uno spazio denominato, proprio dell’esecuzione:

  • Definisci variabile scrive un valore;
  • Leggi variabile lo rilegge;
  • un valore tipizzato variable lo legge al volo, in qualunque campo;
  • {{nom}} lo legge in un template (Transform template, Map);
  • l’oggetto vars lo legge in un’azione di codice;
  • Aggiungi all’elenco e Rimuovi dall’elenco possono scrivere direttamente nella variabile di origine.

Una variabile di run copre l’ambiente per la durata dell’esecuzione: una richiesta che usa {{token}} prenderà il token impostato dallo scenario anziché quello dell’ambiente.

Va usata per ciò che è globale all’esecuzione: un token, un identificatore di correlazione, un contatore — anziché tirare un collegamento attraverso tutto il grafo.

  • Il riquadro Input / Param dichiara uno o più parametri denominati, ciascuno con il proprio tipo. Emette un solo oggetto { name: value, … }.

    I valori arrivano, in ordine: dal lancio (interfaccia o MCP), dalla riga di comando (--param name=value), oppure da una richiesta interattiva se lo scenario raggiunge il riquadro senza un valore disponibile.

  • Il riquadro Output / Return espone un risultato denominato al chiamante. Uno scenario chiamato da un’azione Esegui lo scenario rende le proprie uscite visibili sulla porta output:<name> del chiamante.

È ciò che permette di comporre: uno scenario «accedi» che restituisce un token, riutilizzato dagli altri.

Un’azione di richiesta ha una porta env: cablarvi un ambiente (valore tipizzato environment, oppure nome di ambiente) esegue la chiamata in quell’ambiente.

È il modo di far girare lo stesso scenario contro staging e poi production senza duplicare nulla — basta passare l’ambiente come parametro dello scenario.

Tutti i valori tipizzati si risolvono allo stesso modo nell’interfaccia e senza finestra: elenchi personalizzati, enumerazioni, anteprime di ambiente. Uno scenario che funziona nell’interfaccia funziona in CI.

Un nome di ambiente ambiguo (due ambienti omonimi) provoca un errore esplicito: in quel caso occorre passare l’identificatore.

Conversione dei parametri dalla riga di comando

Section titled “Conversione dei parametri dalla riga di comando”

--param riceve del testo; Restorm lo converte in base al tipo dichiarato del parametro:

Tipo dichiaratoChe cosa si passa
Numerico--param Seuil=42
Boolean--param Actif=true (accettati 1, yes, on)
Calcolo di dataUna data, oppure un timestamp epoch
ElencoJSON: --param Ids='[1,2,3]'
EnumerazioneIl valore, validato contro l’insieme consentito
Elenco personalizzatoL’etichetta, convertita in valore (RougeFF0000)
AmbienteUn nome oppure un identificatore di ambiente
Il restoLa stringa grezza

Una conversione impossibile fa fallire il lancio con un messaggio chiaro, anziché eseguire con un valore errato.