Parametri App
Esponi parametri configurabili agli utenti senza costruire una web UI completa. Definisci un form tramite env-template.yml e IronFlock lo renderizza automaticamente.
Quando Usare i Parametri
Usa i parametri per configurazioni semplici che gli utenti devono regolare per dispositivo o gruppo:
- Intervalli di registrazione dei sensori
- URL degli endpoint dati
- Soglie di allarme
- Toggle di funzionalità
- Chiavi API e credenziali
Per configurazioni più complesse (addestramento robot, configurazione AI telecamere, configurazione hardware), costruisci invece un’Interfaccia Utente Edge personalizzata.
Definire i Parametri
Crea un file env-template.yml nella directory .ironflock/:
RECORDING_INTERVAL:
label: "Recording Interval (seconds)"
defaultValue: 5
type: numeric
optional: true
ALERT_THRESHOLD:
label: "Temperature Alert Threshold (°C)"
defaultValue: 80
type: numeric
optional: true
API_ENDPOINT:
label: "Data API Endpoint"
defaultValue: "https://api.example.com/data"
type: text
optional: true
ENABLE_DEMO:
label: "Enable Demo Data"
defaultValue: true
type: boolean
optional: true
DATA_FORMAT:
label: "Output Format"
defaultValue: "json"
type: select
options:
- json
- csv
- xml
optional: true
SECRET_KEY:
label: "API Secret Key"
defaultValue: ""
type: text
secret: true
optional: trueTipi di Parametro
| Tipo | Renderizzato Come | Esempio |
|---|---|---|
text | Campo di testo | URL, nomi, chiavi |
numeric | Campo numerico | Intervalli, soglie |
boolean | Toggle switch | Flag di funzionalità |
select | Menu a tendina | Opzioni predefinite |
Come i Parametri Raggiungono la Tua App
I parametri vengono iniettati come variabili d’ambiente Linux nel tuo container:
Python
import os
interval = int(os.environ.get("RECORDING_INTERVAL", 5))
threshold = float(os.environ.get("ALERT_THRESHOLD", 80))Parametri di Grandi Dimensioni
I parametri che superano 20 KB non vengono impostati come variabili d’ambiente a causa delle limitazioni di sistema. Al contrario, tutti i parametri (inclusi quelli grandi) sono sempre disponibili come file:
/data/env/PARAMETER_NAME.txtModalità Sviluppo
Il defaultValue specificato in env-template.yml viene usato quando l’app viene eseguita in modalità sviluppo. Questo garantisce un’esperienza di sviluppo coerente senza richiedere la configurazione manuale dei parametri.
Parametrizzazione di Massa
Quando i parametri vengono impostati a livello di gruppo di dispositivi, si applicano a tutti i dispositivi del gruppo simultaneamente. Questo è ideale per:
- Impostare un bucket S3 comune per tutti i dispositivi di raccolta dati
- Aggiornare i parametri del modello AI a livello di progetto
- Modificare le configurazioni dei sensori per un’intera linea di produzione
I parametri possono essere impostati anche quando i dispositivi sono offline — vengono applicati quando il dispositivo si riconnette.