Parametry aplikacji
Udostępniaj konfigurowalne parametry użytkownikom bez budowania pełnego interfejsu webowego. Zdefiniuj formularz używając env-template.yml, a IronFlock renderuje go automatycznie.
Kiedy używać parametrów
Używaj parametrów do prostej konfiguracji, którą użytkownicy muszą dostosowywać per urządzenie lub grupę:
- Interwały rejestrowania czujników
- Adresy URL punktów końcowych danych
- Progi alarmowe
- Przełączniki funkcji
- Klucze API i dane uwierzytelniające
Dla bardziej złożonej konfiguracji (trenowanie robotów, konfiguracja AI dla kamer, konfiguracja sprzętu) zamiast tego zbuduj niestandardowy Interfejs użytkownika Edge.
Definiowanie parametrów
Utwórz plik env-template.yml w katalogu .ironflock/:
RECORDING_INTERVAL:
label: "Interwał rejestrowania (sekundy)"
defaultValue: 5
type: numeric
optional: true
ALERT_THRESHOLD:
label: "Próg alertu temperatury (°C)"
defaultValue: 80
type: numeric
optional: true
API_ENDPOINT:
label: "Punkt końcowy API danych"
defaultValue: "https://api.example.com/data"
type: text
optional: true
ENABLE_DEMO:
label: "Włącz dane demonstracyjne"
defaultValue: true
type: boolean
optional: true
DATA_FORMAT:
label: "Format wyjściowy"
defaultValue: "json"
type: select
options:
- json
- csv
- xml
optional: true
SECRET_KEY:
label: "Tajny klucz API"
defaultValue: ""
type: text
secret: true
optional: trueTypy parametrów
| Typ | Renderowany jako | Przykład |
|---|---|---|
text | Pole tekstowe | URL-e, nazwy, klucze |
numeric | Pole numeryczne | Interwały, progi |
boolean | Przełącznik | Flagi funkcji |
select | Menu rozwijane | Predefiniowane opcje |
Jak parametry docierają do aplikacji
Parametry są wstrzykiwane jako zmienne środowiskowe Linux do kontenera:
Python
import os
interval = int(os.environ.get("RECORDING_INTERVAL", 5))
threshold = float(os.environ.get("ALERT_THRESHOLD", 80))Duże parametry
Parametry przekraczające 20 KB nie są ustawiane jako zmienne środowiskowe ze względu na ograniczenia systemowe. Zamiast tego wszystkie parametry (w tym duże) są zawsze dostępne jako pliki:
/data/env/PARAMETER_NAME.txtTryb deweloperski
defaultValue określone w env-template.yml jest używane podczas uruchamiania aplikacji w trybie deweloperskim. Zapewnia to spójne środowisko deweloperskie bez konieczności ręcznej konfiguracji parametrów.
Masowa parametryzacja
Gdy parametry są ustawiane na poziomie grupy urządzeń, stosują się do wszystkich urządzeń w grupie jednocześnie. Jest to idealne do:
- Ustawiania wspólnego zasobnika S3 na wszystkich urządzeniach do zbierania danych
- Aktualizowania parametrów modelu AI w całym projekcie
- Zmiany konfiguracji czujników dla całej linii produkcyjnej
Parametry można ustawiać nawet gdy urządzenia są offline — są stosowane gdy urządzenie ponownie się połączy.