4.1. configedit

configedit はICE Coreの設定を変更するコマンドラインツールです。 ICE Core実行中に使用できますが、設定は動的には反映されません。

4.1.1. 場所

configedit コマンドは${ICE_HOME}/bin配下にあります。 ※ ${ICE_HOME} はICE Coreのインストールディレクトリを表します。

4.1.2. 書式

configedit set [-a] [-s|-n|-b] [-i] [-f <ファイル>] <プロパティ名> <値> [<値>...]

configedit delete [-r] [-f <ファイル>] <プロパティ名>

4.1.2.1. サブコマンド

  • set 指定したプロパティに値を設定します。 既存のプロパティに対してデータ型の異なる値をsetするとエラーになります。 型を無視してsetする場合は--ignore_typeを指定します。
  • delete 指定したプロパティを削除します。 array, objectのプロパティを削除する場合は--recursiveを指定します。

4.1.2.2. オプション

オプションは必ず'-''--'で始めます。また、一部を除いて複数指定が可能です。

  • -a, --array 値をarrayで設定します。合わせて--string, --number, --booleanのいずれかを指定することで、配列の要素の型を指定します。 --string, --number, --booleanを省略した場合は--stringが選択されます。 このオプションを指定した場合のみ、<値>を複数定義できるようになります。 setコマンドでのみ有効なオプションです。
  • -s, --string 値をstringで設定します。--number, --booleanと同時に指定することはできません。 このオプションは既定で有効になります。 setコマンドでのみ有効なオプションです。
  • -n, --number 値をnumberで設定します。--string, --booleanと同時に指定することはできません。 setコマンドでのみ有効なオプションです。
  • -b, --boolean 値をbooleanで設定します。--string, --numberと同時に指定することはできません。 setコマンドでのみ有効なオプションです。 このオプションを指定した場合、<値>にはtruefalseのいずれかのみを指定します。
  • -i, --ignore_type setコマンドで既存のプロパティに対してデータ型の異なるデータを設定する場合に指定します。 setコマンドでのみ有効なオプションです。
  • -f, --file 編集する設定ファイルを指定します。 既定ではconf/core_config.jsonを編集します。
  • -r, --recursive deleteコマンドで指定すると、指定したプロパティがarray, objectの場合でも削除できるようになります。

4.1.2.3. プロパティ名

プロパティはICE Coreの設定項目名を表す一意な文字列です。 設定が階層構造を持ち、プロパティでピリオド区切りの文字列で階層構造を表現します。

4.1.3. 戻り値

エラーコード | 実行結果
0 正常終了
1 異常終了
2 型チェックエラー
3 ファイルIOエラー

4.1.4. 使用例

  • mqttプロトコルでバックエンドに接続する場合
# 設定ファイルをバックアップ
cp ${ICE_HOME}/conf/core_config.json{,.bak}
# 設定の変更
configedit set -s edge_id site_A_01
configedit set -a -s belonging_groups site_A
configedit set -s mqtt.url mqtt://example.com:1883
configedit set -s mqtt.options.username username
configedit set -s mqtt.options.password password
configedit set -n CoAP.port 5683
  • MQTT over TLSとHTTPSプロトコルでバックエンドに接続する場合(証明書で認証)
# 設定ファイルをバックアップ
cp ${ICE_HOME}/conf/core_config.json{,.bak}
# 設定の変更
configedit set -s edge_id site_A_01
configedit set -a -s belonging_groups site_A
configedit set -s mqtt.url mqtts://example.com:8883
configedit set -s mqtt.ca mqtt.ca
configedit set -n CoAP.port 5683
configedit set -s https.ca https.ca

クライアント鍵(.key)とクライアント証明書(.cert)による認証を行う場合は、更に以下を設定します。

configedit set -s mqtt.key mqtt.key
configedit set -s mqtt.cert mqtt.cert
configedit set -s https.key https.key
configedit set -s https.cert https.cert
  • MQTT over TLSとHTTPSプロトコルでバックエンドに接続する場合(ユーザ/パスワードで認証)
# 設定ファイルをバックアップ
cp ${ICE_HOME}/conf/core_config.json{,.bak}
# 設定の変更
configedit set -s edge_id site_A_01
configedit set -a -s belonging_groups site_A
configedit set -s mqtt.url mqtts://example.com:8883
configedit set -s mqtt.ca mqtt.ca
configedit set -s mqtt.options.username username
configedit set -s mqtt.options.username password
configedit set -n CoAP.port 5683
configedit set -s https.ca https.ca

クライアント鍵(.key)とクライアント証明書(.cert)による認証を行う場合は、更に以下を設定します。

configedit set -s mqtt.key mqtt.key
configedit set -s mqtt.cert mqtt.cert
configedit set -s https.key https.key
configedit set -s https.cert https.cert
  • proxyサーバを経由してバックエンドに接続する場合(プロキシにhttpで接続)
# 設定ファイルをバックアップ
cp ${ICE_HOME}/conf/core_config.json{,.bak}
# 設定の変更
configedit set -s http.proxy.url http://<host>:<port>/
configedit set -s https.proxy.url http://<host>:<port>/
  • proxyサーバを経由してバックエンドに接続する場合(プロキシにhttpsで接続)
# 設定ファイルをバックアップ
cp ${ICE_HOME}/conf/core_config.json{,.bak}
# 設定の変更
configedit set -s http.proxy.url https://<host>:<port>/
configedit set -s http.proxy.key proxy.key
configedit set -s http.proxy.cert proxy.cert
configedit set -a -s http.proxy.ca proxy.ca
configedit set -s https.proxy.url https:/<host>:<port>/
configedit set -s https.proxy.key proxy.key
configedit set -s https.proxy.cert proxy.cert
configedit set -a -s https.proxy.ca proxy.ca
  • setコマンド - 文字列を指定
configedit set -s mqtt.url mqtt://example.com:5672
  • setコマンド - 空白を含む文字列を指定
configedit set -s edge_id "edgegw 01"
  • setコマンド - 空白文字列を指定
configedit set -s mqtt.key ""
  • setコマンド - 配列を指定
configedit set -a -s belonging_groups sample_group
  • setコマンド - 数値を指定
configedit set -n CoAP.options.cacheSize 2048
  • setコマンド - バックアップファイルの設定を変更
cp ${ICE_HOME}/conf/core_config.json{,.bak}
configedit set -n -f ${ICE_HOME}/conf/core_config.json.bak CoAP.options.cacheSize 2048
  • 誤って作成したmqtt.opts配下の設定を削除する(deleteコマンド)
# 誤った設定を実行
configedit set -s mqtt.opts.username username
# 誤った設定を削除
configedit delete -r mqtt.opts