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.
1. I token sui collegamenti
Section titled “1. I token sui collegamenti”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.
2. Le variabili di run
Section titled “2. Le variabili di run”Uno spazio denominato, proprio dell’esecuzione:
- Definisci variabile scrive un valore;
- Leggi variabile lo rilegge;
- un valore tipizzato
variablelo legge al volo, in qualunque campo; {{nom}}lo legge in un template (Transform template, Map);- l’oggetto
varslo 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.
3. Parametri e uscite
Section titled “3. Parametri e uscite”-
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.
Ambienti
Section titled “Ambienti”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.
Risoluzione in modalità headless
Section titled “Risoluzione in modalità headless”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 dichiarato | Che cosa si passa |
|---|---|
| Numerico | --param Seuil=42 |
| Boolean | --param Actif=true (accettati 1, yes, on) |
| Calcolo di data | Una data, oppure un timestamp epoch |
| Elenco | JSON: --param Ids='[1,2,3]' |
| Enumerazione | Il valore, validato contro l’insieme consentito |
| Elenco personalizzato | L’etichetta, convertita in valore (Rouge → FF0000) |
| Ambiente | Un nome oppure un identificatore di ambiente |
| Il resto | La stringa grezza |
Una conversione impossibile fa fallire il lancio con un messaggio chiaro, anziché eseguire con un valore errato.