Unified Endpoint を利用して Funnel と Harvest にデータを送信する
当ガイドでは、IoT SIM から Unified Endpoint にデータを送信して SORACOM Funnel(Funnel) および SORACOM Harvest(Harvest) の両方にデータを転送します。
ステップ 1: SIM グループを設定する
ソラコムのユーザーコンソールにログインし「SIM グループ」メニューをクリックします。
これまでと同様に、対象のサービスの設定を行います。 Funnel と Harvest にデータを送信するため、ここでは Funnel と Harvest を ON にします。
ここでは Funnel と Harvest を有効にします。
Funnel の設定については、以下を参照してください。
- Amazon Kinesis Data Firehose アダプターを使用する (ユーザーコンソール版)
- AWS IoT アダプターを使用する
- Azure Event Hubs アダプターを使用する
- Google Cloud Pub/Sub アダプターを使用する
次に、「Unified Endpoint」タブからレスポンスのフォーマットを選択します。
レスポンスのフォーマットについては 使用方法: レスポンスの形式を設定する をご確認ください。
ステップ 2: デバイスからデータを送信する
グループ設定が完了したらデータを送信します。ご利用の IoT SIM がグループに所属していることを確認し、以下のコマンドを送信します。
サンプルコマンドは以下のとおりです。
$ curl -vX POST http://uni.soracom.io -d "{\"message\":\"Hello SORACOM Funnel and Harvest via UnifiedEndpoint!!\"}' -H "Content-Type:application/json"
* About to connect() to uni.soracom.io port 80 (#0)
* Trying 100.127.69.42...
* connected
* Connected to uni.soracom.io (100.127.69.42) port 80 (#0)
> POST / HTTP/1.1
> User-Agent: curl/7.26.0
> Host: uni.soracom.io
> Accept: */*
> Content-Type:application/json
> Content-Length: 56
>
* upload completely sent off: 56 out of 56 bytes
* additional stuff not fine transfer.c:1042: 0 0
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 200 OK
< content-type: application/json
< Date: Thu, 07 Feb 2019 05:22:16 GMT
< Connection: close
< Content-Length: 97
<
* Closing connection #0
{"result":"ok","detail":{"SoracomFunnel":{"statusCode":204},"SoracomHarvest":{"statusCode":201}}}
各サービスにデータが転送されていることをご確認ください。
ステップ 3: レスポンスを確認する
上記の実行結果では、レスポンスは以下のように返されています。
{
"result":"ok",
"detail":{
"SoracomFunnel":{"statusCode":204},
"SoracomHarvest":{"statusCode":201}
}
}
これは、レスポンスのフォーマットで「Auto」を選択しています。Funnel、Harvest の複数のサービスに転送しているため、「Unified」のフォーマットとなっています。 これ以外に、Funnel のみのレスポンス、Harvest のみのレスポンス、カスタムレスポンスを返却するこができます。
レスポンスのフォーマットについては 使用方法: レスポンスの形式を設定する をご確認ください。