앱 파라미터
전체 웹 UI를 구축하지 않고도 사용자에게 구성 가능한 파라미터를 노출합니다. env-template.yml을 사용하여 양식을 정의하면 IronFlock이 자동으로 렌더링합니다.
파라미터를 사용해야 하는 경우
사용자가 디바이스 또는 그룹별로 조정해야 하는 간단한 구성에 파라미터를 사용하십시오:
- 센서 기록 간격
- 데이터 엔드포인트 URL
- 알람 임계값
- 기능 토글
- API 키 및 자격 증명
더 복잡한 구성(로봇 학습, 카메라 AI 설정, 하드웨어 구성)의 경우 커스텀 엣지 사용자 인터페이스를 구축하십시오.
파라미터 정의
.ironflock/ 디렉터리에 env-template.yml 파일을 생성합니다:
RECORDING_INTERVAL:
label: "기록 간격 (초)"
defaultValue: 5
type: numeric
optional: true
ALERT_THRESHOLD:
label: "온도 알람 임계값 (°C)"
defaultValue: 80
type: numeric
optional: true
API_ENDPOINT:
label: "데이터 API 엔드포인트"
defaultValue: "https://api.example.com/data"
type: text
optional: true
ENABLE_DEMO:
label: "데모 데이터 활성화"
defaultValue: true
type: boolean
optional: true
DATA_FORMAT:
label: "출력 형식"
defaultValue: "json"
type: select
options:
- json
- csv
- xml
optional: true
SECRET_KEY:
label: "API 시크릿 키"
defaultValue: ""
type: text
secret: true
optional: true파라미터 유형
| 유형 | 렌더링 방식 | 예시 |
|---|---|---|
text | 텍스트 입력 필드 | URL, 이름, 키 |
numeric | 숫자 입력 | 간격, 임계값 |
boolean | 토글 스위치 | 기능 플래그 |
select | 드롭다운 메뉴 | 사전 정의된 옵션 |
파라미터가 앱에 전달되는 방식
파라미터는 컨테이너에 Linux 환경 변수로 주입됩니다:
Python
import os
interval = int(os.environ.get("RECORDING_INTERVAL", 5))
threshold = float(os.environ.get("ALERT_THRESHOLD", 80))대용량 파라미터
20 KB를 초과하는 파라미터는 시스템 제한으로 인해 환경 변수로 설정되지 않습니다. 대신 모든 파라미터(대용량 포함)는 항상 파일로 사용 가능합니다:
/data/env/PARAMETER_NAME.txt개발 모드
env-template.yml에 지정된 defaultValue는 개발 모드에서 앱을 실행할 때 사용됩니다. 이는 수동 파라미터 구성 없이도 일관된 개발 경험을 제공합니다.
일괄 파라미터화
디바이스 그룹 수준에서 파라미터가 설정되면 그룹의 모든 디바이스에 동시에 적용됩니다. 다음과 같은 경우에 이상적입니다:
- 모든 데이터 수집 디바이스에 공통 S3 버킷 설정
- 프로젝트 전체의 AI 모델 파라미터 업데이트
- 전체 생산 라인의 센서 구성 변경
파라미터는 디바이스가 오프라인일 때도 설정할 수 있습니다 — 디바이스가 재연결될 때 적용됩니다.
Last updated on