「新しいチャネルを作成」画面でイベントソースとして「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.httpHeader | HTTP ヘッダー。 |
request.httpMethod | HTTP メソッド。 |
request.port | ポート番号。 |
resource | デバイスの情報。 |
resource.resourceId | デバイスの ID。IoT SIM の場合は IMSI です。Sigfox デバイスや Inventory デバイスの場合はデバイス ID です。 |
resource.imsi | IMSI。 |
resource.resouceType | リソースの種類。IoT SIM の場合は Subscriber です。 |
resource.simId | SIM ID。 |
group | グループの情報。 |
group.groupId | グループ ID。 |
上記の CONTEXT を、アクションで参照する場合は、${event.context.<json パス>}
や event.context.<json パス> == 1
のように入力します。