アプリパラメータ
専用のWeb UIを構築することなく、ユーザーに設定可能なパラメータを公開できます。env-template.ymlでフォームを定義すれば、IronFlockが自動的にUIをレンダリングします。
パラメータの使いどころ
デバイスごとまたはグループごとにユーザーが調整する必要がある簡単な設定にパラメータを使用します:
- センサーの記録間隔
- データエンドポイントURL
- アラート閾値
- 機能トグル
- APIキーと認証情報
より複雑な設定(ロボットのトレーニング、カメラAIのセットアップ、ハードウェア設定)には、代わりにカスタムのエッジユーザーインターフェースを構築してください。
パラメータの定義
.ironflock/ディレクトリにenv-template.ymlファイルを作成します:
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: 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