Soracom

Users

ドキュメント
Home ドキュメント SORACOM Flux (Public beta) イベントソースリファレンス

IoT デバイスイベントソース

「新しいチャネルを作成」画面でイベントソースとして「IoT デバイス」を選択すると、以下の条件をすべて満たすときに、Flux アプリが起動します。

  • IoT デバイスが、グループ に所属すること。
  • そのグループを IoT イベントソースの [イベントソース設定][グループ] に設定すること。
  • IoT SIM を利用するデバイスで、Unified Endpoint のエントリポイント にデータを送信すること。

[イベントソース設定]

イベントソースに連結したチャネルにメッセージが送信される条件を設定します。

項目説明
[有効]この条件を有効化する場合は、「有効」にします。
[グループ]グループ ID を入力します。ここで指定したグループに所属する IoT デバイスが Unified Endpoint のエントリポイントにデータを送信すると、イベントソースに連結したチャネルにメッセージが送信されます。
1 つのグループを複数の Flux アプリに設定することはできません

1 つのグループを、複数の Flux アプリの IoT デバイスイベントソースに設定することはできません。なお、グループはグループ ID で区別されます。グループ ID が同じ SIM グループと Sigfox グループを別の Flux アプリに設定することはできません。

チャネルに送信されるデータ

IoT デバイスイベントソースを設定したチャネルに送信されるデータは、MESSAGE と CONTEXT です。

実際に Flux アプリに送信されたデータは、SORACOM Flux Studio の [実行履歴] タブで確認できます。詳しくは、実行履歴 (ログ) を参照してください。

MESSAGE

IoT デバイスから、Unified Endpoint のエントリポイントに送信されたデータです。

{
  "temp": 29.7,
  "x": null,
  "bat": 3,
  "lon": 139.73307,
  "rs": 4,
  "binaryParserEnabled": true,
  "humi": 53.4,
  "z": null,
  "y": null,
  "type": 0,
  "lat": 35.677226
}

アクションで、イベントソースの MESSAGE を参照する場合は、${event.payload.<json パス>}event.payload.<json パス> == 1 のように入力します。

CONTEXT

Unified Endpoint のエントリポイントにデータを送信した IoT デバイスや、データの送信方法に関するデータです。送信元のデバイスやデータの送信方法によって、含まれる項目は異なります。たとえば、request.httpHeaders.baggage が含まれない場合があります。

{
  "eventType": "device",
  "request": {
    "protocol": "http",
    "httpPath": "/",
    "httpHeaders": {
      "content-length": "19",
      "content-type": "application/json",
      "connection": "close",
      "baggage": "deviceRequestTime=17200816xxxxx",
      "accept": "*/*",
      "user-agent": "xxxx"
    },
    "httpMethod": "POST",
    "port": 8888
  },
  "resource": {
    "resourceId": "<devideId || imsi>",
    "imsi": "<imsi>",
    "resourceType": "Subscriber",
    "simId": "<sim-id>>"
  },
  "group": {
    "groupId": "<group-id>"
  }
}

主な項目は以下のとおりです。

項目説明
eventTypeイベントの種類。Unified Endpoint のエントリポイントに送信されたデータが、Flux アプリが起動するトリガーになった場合は、device です。
requestデバイスが、Unified Endpoint のエントリポイントにデータを送信した方法に関する情報。
request.protocolプロトコル。
request.httpPathパス。
request.httpHeaderHTTP ヘッダー。
request.httpMethodHTTP メソッド。
request.portポート番号。
resourceデバイスの情報。
resource.resourceIdデバイスの ID。IoT SIM の場合は IMSI です。Sigfox デバイスや Inventory デバイスの場合はデバイス ID です。
resource.imsiIMSI。
resource.resouceTypeリソースの種類。IoT SIM の場合は Subscriber です。
resource.simIdSIM ID。
groupグループの情報。
group.groupIdグループ ID。

上記の CONTEXT を、アクションで参照する場合は、${event.context.<json パス>}event.context.<json パス> == 1 のように入力します。