「スクリプト変換」 を利用する


対象アクセス回線

icms cc

本チュートリアルでは、 IoT Connect Gateway の 「スクリプト変換」 機能に関する設定についてご説明いたします。

注釈

  • 本機能は IoT Connect Gateway サービス主管が実装したスクリプトの詳細情報閲覧、転送設定の上り、下り通信のスクリプト割り当てのみご利用できます。

  • スクリプトの新規作成、編集はできませんのでご注意ください。

  • 対応プロトコルはHTTP、MQTT、TCPになります。

  • 転送設定に上り、下り通信それぞれに1つのみスクリプトを設定可能です。

  • バイナリパーサー、フォーマット変換は併用不可です。

スクリプト一覧確認

  1. 左側のメニューから 「スクリプト変換」 >「一覧」をクリックします。

  2. スクリプト一覧が表示されていることを確認します。

スクリプト一覧

注釈

  • スクリプトが表示されていない場合、本機能はご利用できません。

スクリプトの割り当て

  1. 左側のメニューから「グループ」をクリックし、グループの一覧を表示させ、スクリプト変換を適用したいグループ名のリンクをクリックします。グループ一覧が表示されていない場合は、 こちら のグループ情報登録を参照し、グループを作成してください。

グループ選択
  1. 「スタンダード」、「イベント」、「ファンクション」 から、スクリプト変換 を適用したいサービスのタブをクリックし、「鉛筆」アイコンをクリックします。

スクリプト変換適用1
  1. データ変換設定のデータ変換種別で「スクリプト変換」を選択し、上り、下り通信用スクリプトに任意のスクリプトを選択して「保存」をクリックします。

スクリプト変換適用2

スクリプト変換の考え方

本項では、デバイスとサーバー間の通信を中継する IoT Connect Gateway において、スクリプトを適用した場合の挙動について解説します。

例として、プレーンテキストまたはJSONから下記JSONフォーマットに変換されるスクリプトを適用し、HTTPで通信した場合の考え方を紹介します。

{
 "date" : "[現在日付]",
 "time" : "[現在時刻]",
 "device" : {
   "imsi" : "[IMSI]",
   "name" : "[デバイス名]"
 },
 "message" : "[メッセージデータ]"
}

1. スクリプトを上り通信だけに適用した場合

デバイスから送信されたデータ
  • プレーンテキストでデータを送信します。

data1

サーバー側の出力結果
  • 上り通信にスクリプトを適用しているので、JSONに変換されて出力されます。

{
 "date" : "2026-01-01",
 "time" : "00:00:00",
 "device" : {
   "imsi" : "0000000000000000",
   "name" : "device_name1"
 },
 "message" : "data1"
}

レスポンス
  • 下り通信にスクリプトを適用していないので、サーバーからのレスポンスがそのまま表示されます。

{
  "statusCode": 200,
  "body": {
    "result": "ok",
    "detail": {
      "message": "OK",
      "traceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    }
  }
}

2. スクリプトを下り通信だけに適用した場合

デバイスから送信されたデータ
  • プレーンテキストでデータを送信します。

data1

サーバー側の出力結果
  • 上り通信にスクリプトを適用していないので、プレーンテキストで出力されます。

data1

レスポンス
  • 下り通信にスクリプトを適用しているので、JSONに変換されたレスポンスが表示されます。

{
  "statusCode": 200,
  "body": {
    "result": "ok",
    "detail": "{\"date\": \"2026-01-01\", \"time\": \"00:00:00\", \"device\": {\"imsi\": \"0000000000000000\", \"name\": \"device_name1\"}, \"message\": {\"message\": \"OK\", \"traceId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"}}"
  }
}

注釈

  • スクリプトによって生成されたJSONデータを、システム側がさらに固定フォーマット(detail 項目の値)として文字列化して格納するため、ダブルクォーテーション(")がエスケープ(\")されて表示されます。


3. スクリプトを上り、下り通信に適用した場合

デバイスから送信されたデータ
  • プレーンテキストでデータを送信します。

data1

サーバー側の出力結果
  • 上り通信にスクリプトを適用しているので、JSONに変換されて出力されます。

{
 "date" : "2026-01-01",
 "time" : "00:00:00",
 "device" : {
   "imsi" : "0000000000000000",
   "name" : "device_name1"
 },
 "message" : "data1"
}

レスポンス
  • 下り通信にスクリプトを適用しているので、JSONに変換されたレスポンスが表示されます。

{
  "statusCode": 200,
  "body": {
    "result": "ok",
    "detail": "{\"date\": \"2026-01-01\", \"time\": \"00:00:00\", \"device\": {\"imsi\": \"0000000000000000\", \"name\": \"device_name1\"}, \"message\": {\"message\": \"OK\", \"traceId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"}}"
  }
}

注釈

  • スクリプトによって生成されたJSONデータを、システム側がさらに固定フォーマット(detail 項目の値)として文字列化して格納するため、ダブルクォーテーション(")がエスケープ(\")されて表示されます。