コンテンツにスキップ
α(一般提供前)のサービスです。一般提供はしておらず、仕様変更・機能の追加削除・データの削除が予告なく発生する場合があります。
ThingsConnectThingsConnect ドキュメント
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

デプロイ

独自コンポーネントをエッジPCへ配る。宛先ごとの環境変数・シークレット、配布と稼働の状態、ログ、止め方

サイドバーの 「カスタム処理」→「デプロイ」 で、コンポーネントをエッジPCへ配り、配った結果と稼働状態を確かめます。複数のエッジPCにまとめて配るときはグループを宛先にします。

デプロイは**「そのエッジPCで動かすものの一覧」を丸ごと指定する**形です。ThingsConnect 本体(カメラ・センサ・録画)はそのまま維持され、一覧のコンポーネントが追加されます。

デプロイする

エッジPCにデプロイする

「カスタム処理」→「デプロイ」の**「新規デプロイ」**を押し、宛先(エッジPC かグループ)を選びます。その宛先で今動いているコンポーネントの一覧が表示されるので、「コンポーネントを追加…」から足してバージョンを選び、「デプロイ」を押します。コンポーネント詳細のバージョン行にあるロケットのアイコンからも、そのバージョンを入れた状態で同じ画面を開けます。宛先向けの環境変数(エッジPCごとの値・シークレット)は、コンポーネントの行を開いて入れます(宛先ごとの環境変数を渡す)。CLI からも実行できます。

thingsconnect deploy --edge-pc <エッジPCの ID> --set my-edge-processor@1.0.0

状態を確認する

サイドバーの「カスタム処理」→「デプロイ」に、エッジPCごとの結果が表示されます。反映まで数分かかることがあります。

**ThingsConnect のソフトウェアの更新がメンテナンス時間帯を待っている間は、デプロイもその後になります。**すぐに反映したい場合は、エッジPC 詳細の「更新」でメンテナンス時間帯を 24 時間(配信が来たらすぐ当てる) にすると、15 分以内に更新とデプロイが進みます(→ エッジPCの登録と監視)。

thingsconnect status --edge-pc <エッジPCの ID>

宛先ごとの環境変数を渡す

バージョン登録時の環境変数が「既定値」、デプロイ時の環境変数が「そのエッジPC向けの値」という 2 段構成です。API トークンのようにエッジPCごとに変わる値・秘密の値はデプロイ時に渡します。値を変えるときは同じバージョンのままデプロイし直すだけでよく(コンテナも自動で再起動します)、イメージのビルドやバージョンの登録は要りません。

画面から渡す場合は、コンポーネント詳細でロケットのアイコンを押し、エッジPCを選んだあと「環境変数」の欄に値を入れます。「シークレット」にチェックを入れた値は、以後この画面にも表示されません(保存時に暗号化され、書き込み専用になります)。空欄にしたキーはバージョンの既定値のまま動きます。

CLI では deploy に --env / --secret を付けます。--secret は値を省略すると同名の環境変数から読むので、シークレットをシェルの履歴に残さずに済みます。

# エッジPCごとの値を渡す
thingsconnect deploy --edge-pc <エッジPCの ID> --set my-edge-processor@1.0.0 --env API_URL=https://site-a.example.com

# シークレットを渡す(値は環境変数から読む。以後 API も CLI も値を返さない)
TOKEN=xxxxx thingsconnect deploy --edge-pc <エッジPCの ID> --set my-edge-processor@1.0.0 --secret TOKEN

# 既定値に戻す
thingsconnect deploy --edge-pc <エッジPCの ID> --set my-edge-processor@1.0.0 --clear-env my-edge-processor

複数のコンポーネントを一度に指定するときは、--env my-edge-processor:TOKEN=xxxxx のようにどのコンポーネント向けかを前に付けます(--set が 1 つだけなら省略できます)。--env / --secret を書いたコンポーネントは、書いた内容がそのデプロイの全てになります(書かなかったキーは既定値に戻ります)。何も書かなかったコンポーネントは前回の値がそのまま引き継がれます。

値にシングルクォート(')と改行は使えません。 指定するとエラーになります。

デプロイの状態

「デプロイ」画面には状態の列が 2 つあります。「配れたか」と「今動いているか」は別物なので分けて表示します。配布が完了したあとにコンテナが落ちても、デプロイ状態は COMPLETED のままです。

デプロイ状態

配布そのものの結果です。進行中は自動で更新されます。

状態 意味
IN_PROGRESS / ACTIVE 配布中。エッジPCがオフラインだと復帰まで進みません
配信中 グループ宛てのデプロイが有効な状態。機体ごとの結果は「機体ごとの状態」で見ます
COMPLETED 配布が完了した
FAILED 配布に失敗した。イメージ URI や実行オプションを確認してください
CANCELED 取り消された

エッジPC上の状態

配ったコンポーネントがエッジPC上で今どうなっているかです。デプロイに含まれるコンポーネントごとに表示します。

状態 意味
RUNNING 稼働中(緑で表示します)
FINISHED 正常に終了した。動かし続ける処理でこれが出ているなら、意図せず止まっています(正常終了と区別が付かないため緑にはしません)
NEW / INSTALLED / STARTING / STOPPING 起動・停止の途中
ERRORED / BROKEN 起動に失敗している。理由はエッジPC詳細の「稼働中のコンポーネント」で確認できます
未インストール デプロイ済みなのにエッジPC上に見当たりません
取得できません エッジPC 上の状態を読み取れませんでした
— 古いデプロイ行、またはコンポーネントを 1 つも含まないデプロイ(すべて解除したとき)

ログを見る

コンテナが標準出力・標準エラーに書いた内容を、管理ダッシュボードから読めます。ログのページは 2 か所から開けます。エッジPC 詳細の「稼働中のコンポーネント」のうち「カスタム処理」の表にある 「ログを見る」 と、「デプロイ」画面の「エッジPC上の状態」の横にあるアイコンです。

  • ページの上部で、同じエッジPC で動いている別のコンポーネントに切り替えられます。ページの URL を共有すれば、同じログを他の人も開けます。
  • 開くとエッジPC から直近 500 行を読み、5 秒ごとに更新します。キーワードで絞り込めます。「さらに前を読む」でさかのぼれます。
  • ログはエッジPC 上のものをその場で読みます。 エッジPC がオフラインの間は読めません。
  • さかのぼれるのは、エッジPC に残っている分だけです。古いログは容量に応じて消えていくので、長く残したい内容はコンテナから自社のシステムへ送ってください。
  • 標準エラーの行は赤で表示します。
  • ログを残したい内容はすぐ出力されるようにしてください(Python なら python -u か PYTHONUNBUFFERED=1)。バッファに溜まったまま終了すると残りません。
thingsconnect logs --edge-pc <エッジPCの ID> --component my-edge-processor --lines 200 --filter error
thingsconnect logs --edge-pc <エッジPCの ID> --component my-edge-processor --follow   # 新しい行を表示し続ける

稼働中のコンテナを止める

デプロイは**「そのエッジPCで動かすものの一覧」を丸ごと指定する**形です。止めたいものを一覧から外して deploy し直すと、そのコンテナは停止・削除されます。

# a だけを残す(b は外れて止まる)
thingsconnect deploy --edge-pc <エッジPCの ID> --set my-edge-processor@1.0.0

# 全て外す
thingsconnect deploy --edge-pc <エッジPCの ID>

ThingsConnect 本体(カメラ・録画など)は管理対象外なので、この操作では外れません。

管理画面では「新規デプロイ」でコンポーネントの行の × を押して外し、「デプロイ」を押します。外れるコンポーネントは、押す前に「次のコンポーネントは集合から外れ、アンインストールされます」と表示されます。

最終更新 2026年10月11日