Soracom

Users

ドキュメント

Funnel から送信されるデータフォーマット

クラウドサービスには、以下のようなフォーマットのデータが送信されます。

{
  "credentialId": "ソラコムの認証情報のID",
  "operatorid": "ソラコムのアカウントID",
  "destination": {
    "provider": "(aws|azure|google)",
    "service": "(aws-iot|kinesis|firehose|eventhubs|pubsub)",
    "resourceUrl": "送信先クラウドサービスのURL",
    "payloadsOnly": (true|false),
    "sendPayloadsAsBinary": (true|false)
  },
  "sourceProtocol": "(tcp|udp|http|sigfox|lora|unspecified)",
  "payloads": "送信されたデータ本体",
  "timestamp": "funnelがデータを受け取った日時(unix time)",
  "imsi": "送信元のSIMのIMSI",
  "imei": "送信元デバイスのIMEI"
}
payloads 以外の値が送信されないように設定できます

[ペイロードのみ転送する] を ON に設定すると、payloads に設定されるデータだけが送信されます。payloads 以外の値 (credentialId など) は送信されません。

[送信データ形式] が「JSON」で、[ペイロードのみ転送する] が OFF の場合:

{
  "credentialsId": "AWS-IAM-role-credentials",
  "operatorId": "OPxxxxxxxxxx",
  "destination": {
    "provider": "aws",
    "service": "aws-iot",
    "resourceUrl": "xxxxx-ats.iot.ap-northeast-1.amazonaws.com/myTopic/#{imsi}",
    "payloadsOnly": false,
    "sendPayloadsAsBinary": false
  },
  "sourceProtocol": "http",
  "payloads": {
    "deviceid": "iot123",
    "temp": 54.98,
    "humidity": 32.43,
    "coords": {
      "latitude": 47.615694,
      "longitude": -122.3359976
    }
  },
  "timestamp": 1653891795421,
  "imsi": "2950xxxxxxxxxxx",
  "imei": "8676xxxxxxxxxxx"
}

[送信データ形式] が「JSON」で、[ペイロードのみ転送する] が ON の場合:

{
  "deviceid": "iot123",
  "temp": 54.98,
  "humidity": 32.43,
  "coords": {
    "latitude": 47.615694,
    "longitude": -122.3359976
  }
}

payloads に設定されるデータ

payloads に設定されるデータは、[送信データ形式] の設定によって異なります。

コマンド例:

curl -v funnel.soracom.io \
-H "Content-Type: application/json" \
-d '{
  "deviceid": "iot123",
  "temp": 54.98,
  "humidity": 32.43,
  "coords": {
    "latitude": 47.615694,
    "longitude": -122.3359976
  }
}'

上記のコマンドを実行して Funnel にデータを送信した場合に、payloads に設定されるデータは、以下のとおりです。

[送信データ形式] の設定payloads の例
(指定しない)
{
    :
  "payloads": {
    "deviceid": "iot123",
    "temp": 54.98,
    "humidity": 32.43,
    "coords": {
      "latitude": 47.615694,
      "longitude": -122.3359976
    }
  },
    :
}
JSON
{
    :
  "payloads": {
    "deviceid": "iot123",
    "temp": 54.98,
    "humidity": 32.43,
    "coords": {
      "latitude": 47.615694,
      "longitude": -122.3359976
    }
  },
    :
}
テキスト
{
    :
  "payloads": "{\n  \"deviceid\": \"iot123\",\n  \"temp\": 54.98,\n  \"humidity\": 32.43,\n  \"coords\": {\n    \"latitude\": 47.615694,\n    \"longitude\": -122.3359976\n  }\n}",
    :
}
バイナリ

Funnel に送信したボディが、Base64 エンコードされて payloads に設定されます。

{
    :
  "payloads": "ewogICJkZXZpY2VpZCI6ICJpb3QxMjMiLAogICJ0ZW1wIjogNTQuOTgsCiAgImh1bWlkaXR5IjogMzIuNDMsCiAgImNvb3JkcyI6IHsKICAgICJsYXRpdHVkZSI6IDQ3LjYxNTY5NCwKICAgICJsb25naXR1ZGUiOiAtMTIyLjMzNTk5NzYKICB9Cn0=",
    :
}
SORACOM Binary Format v1
{
    :
  "payloads": "{\n  \"deviceid\": \"iot123\",\n  \"temp\": 54.98,\n  \"humidity\": 32.43,\n  \"coords\": {\n    \"latitude\": 47.615694,\n    \"longitude\": -122.3359976\n  }\n}",
    :
}