Μετάβαση στο περιεχόμενο

Μεταβλητές και δεδομένα σε ένα σενάριο

Ένα σενάριο διαθέτει τρεις μηχανισμούς για να κυκλοφορούν τα δεδομένα. Αλληλοσυμπληρώνονται, και το να ξέρετε ποιον να επιλέξετε γλιτώνει πολλή περιττή καλωδίωση.

1. Οι μάρκες πάνω στους συνδέσμους

Section titled “1. Οι μάρκες πάνω στους συνδέσμους”

Ο κύριος μηχανισμός: ένα κουτί παράγει μια τιμή, εκείνη ταξιδεύει πάνω στον σύνδεσμο, ενδεχομένως αναδιαμορφωμένη από έναν επιλογέα, και φτάνει στην είσοδο του επόμενου κουτιού.

Είναι ρητό και ευανάγνωστο: η ροή των δεδομένων είναι το ίδιο το σχέδιο.

Χρησιμοποιήστε τον για ό,τι είναι τοπικό — το αποτέλεσμα μιας κλήσης που καταναλώνεται από την επόμενη κλήση.

2. Οι μεταβλητές εκτέλεσης

Section titled “2. Οι μεταβλητές εκτέλεσης”

Ένας επώνυμος χώρος, που ανήκει στην εκτέλεση:

  • η Ορισμός μεταβλητής γράφει μια τιμή·
  • η Λήψη μεταβλητής την ξαναδιαβάζει·
  • μια τιμή τύπου variable τη διαβάζει εν κινήσει, μέσα σε οποιοδήποτε πεδίο·
  • το {{nom}} τη διαβάζει μέσα σε ένα πρότυπο (Transform template, Map
  • το αντικείμενο vars τη διαβάζει μέσα σε μια ενέργεια κώδικα·
  • οι Προσθήκη στη λίστα και Αφαίρεση από τη λίστα μπορούν να γράψουν απευθείας μέσα στη μεταβλητή προέλευσης.

Μια μεταβλητή εκτέλεσης σκεπάζει το περιβάλλον για όσο διαρκεί η εκτέλεση: ένα αίτημα που χρησιμοποιεί το {{token}} θα πάρει το token που έθεσε το σενάριο και όχι εκείνο του περιβάλλοντος.

Χρησιμοποιήστε την για ό,τι είναι καθολικό στην εκτέλεση: ένα token, ένα αναγνωριστικό συσχέτισης, έναν μετρητή — αντί να τραβήξετε έναν σύνδεσμο μέσα από ολόκληρο τον γράφο.

3. Παράμετροι και έξοδοι

Section titled “3. Παράμετροι και έξοδοι”
  • Το κουτί Input / Param δηλώνει μία ή περισσότερες επώνυμες παραμέτρους, καθεμία με τον τύπο της. Εκπέμπει ένα μόνο αντικείμενο { nom: valeur, … }.

    Οι τιμές προέρχονται, κατά σειρά: από την εκκίνηση (διεπαφή ή MCP), από τη γραμμή εντολών (--param nom=valeur), ή από μια διαδραστική ερώτηση αν το σενάριο φτάσει στο κουτί χωρίς διαθέσιμη τιμή.

  • Το κουτί Output / Return εκθέτει ένα επώνυμο αποτέλεσμα στον καλούντα. Ένα σενάριο που καλείται από μια ενέργεια Εκτέλεση σεναρίου κάνει τις εξόδους του ορατές στη θύρα output:<nom> του καλούντος.

Αυτό επιτρέπει τη σύνθεση: ένα σενάριο «σύνδεση» που επιστρέφει ένα token, το οποίο ξαναχρησιμοποιούν τα υπόλοιπα.

Μια ενέργεια αιτήματος έχει μια θύρα env: αν καλωδιώσετε εκεί ένα περιβάλλον (τιμή τύπου environment, ή όνομα περιβάλλοντος), η κλήση εκτελείται μέσα σε αυτό το περιβάλλον.

Είναι ο τρόπος να τρέξετε το ίδιο σενάριο πρώτα στο staging και έπειτα στο production χωρίς να διπλασιάσετε τίποτα — περάστε το περιβάλλον ως παράμετρο του σεναρίου.

Επίλυση σε λειτουργία headless

Section titled “Επίλυση σε λειτουργία headless”

Όλες οι τιμές με τύπο επιλύονται με τον ίδιο τρόπο μέσα στη διεπαφή και χωρίς παράθυρο: προσαρμοσμένες λίστες, απαριθμήσεις, προεπισκοπήσεις περιβάλλοντος. Ένα σενάριο που δουλεύει μέσα στη διεπαφή δουλεύει και σε CI.

Ένα διφορούμενο όνομα περιβάλλοντος (δύο ομώνυμα περιβάλλοντα) προκαλεί ρητό σφάλμα: περάστε τότε το αναγνωριστικό.

Μετατροπή των παραμέτρων στη γραμμή εντολών

Section titled “Μετατροπή των παραμέτρων στη γραμμή εντολών”

Το --param λαμβάνει κείμενο· το Restorm το μετατρέπει σύμφωνα με τον δηλωμένο τύπο της παραμέτρου:

Δηλωμένος τύποςΤι περνάτε
Αριθμητικός--param Seuil=42
Boolean--param Actif=true (γίνονται δεκτά τα 1, yes, on)
Υπολογισμός ημερομηνίαςΜια ημερομηνία, ή μια χρονοσήμανση epoch
ΛίσταJSON: --param Ids='[1,2,3]'
ΑπαρίθμησηΤην τιμή, επικυρωμένη έναντι του επιτρεπόμενου συνόλου
Προσαρμοσμένη λίσταΤην ετικέτα, που μετατρέπεται σε τιμή (RougeFF0000)
ΠεριβάλλονΈνα όνομα ή ένα αναγνωριστικό περιβάλλοντος
Τα υπόλοιπαΤην ακατέργαστη συμβολοσειρά

Μια αδύνατη μετατροπή προκαλεί αποτυχία της εκκίνησης με σαφές μήνυμα, αντί να εκτελεστεί με λανθασμένη τιμή.