2022年10月3日をもちまして、Platio Funnelアダプターの提供を終了いたします。提供終了後は、Funnel経由でPlatioにデータを送信することができなくなります。
Platio Funnelアダプターを使用すると、Funnel経由でPlatioにデータを受け渡すことができます。
このドキュメントでは、Platio Funnelアダプターの設定の仕方について説明します。このドキュメントは、Platio StudioやPlatioアプリ、データビューアーに慣れ親しんでいることを前提としています。もし、これらに慣れていない場合、まず、Platio Studioでミニアプリを作成して使ってみてください。
また、データの形式などは、Platio APIと同等になっていますので、詳細については、Platio API ドキュメントを参照してください。
Platio Funnelアダプターを使用すると、IoTゲートウェイなどからSORACOMに送信されたレコードを、Platioのデータポケットにレコードとして追加することができます。SORACOMに送信されたレコード一つ一つが、Platioのレコードとして追加されます。
Funnelの設定で、どのミニアプリ(アプリケーション)のどのデータポケット(コレクション)にレコードを追加するのかを指定します。また、SORACOMに送信されたレコードのどの項目を、Platioのどのフィールド(カラム)に割り当てるかを、ある程度指定することができます。
Platio Funnelアダプターの設定をする前に、Platio Studioを使用して、データを受け取るためのミニアプリを作成・配布し、Funnelから受け取ったデータを追加するためのユーザーを追加します。ユーザーを作成するときには、「レコードや添付ファイルへのAPIでのアクセスを許可」にチェックを入れてください。
ミニアプリを作成したら、そのミニアプリのデータビューアーに、上記で作成したユーザーでログインし、開発者ページにアクセスします。
このページで、以下の情報を確認します。
pkyfjjjmlyffnlgeb5oh2eqs2aa
のような文字列)tf71dbb9
のような文字列)c002c2c0
のような文字列)また、APIトークンの発行ボタンをクリックして、APIトークンを取得します。表示される、トークンIDと秘密トークンをメモします。
これらのIDの詳細については、Platio API ドキュメントを参照してください。
ここでは、SORACOMコンソールを使用して、SIMグループに対してFunnelの設定を行なう方法を説明します。
値のテンプレートには、Funnelに渡されたJSONから、どのようにPlatioのレコードに変換するかを、JMESPathで指定します。
例えば、ゲートウェイなどからSORACOMに送信されるJSONが、以下のような形式だとします。
{
"timestamp": "2017-06-06T11:43:43.000Z",
"temperature": 29.5,
"humidity": 43.6
}
ここで、timestampの値を日時カラム(カラムIDがc4cc8d14
)、temperatureの値を気温カラム(c4bc667d
)、humidityの値を湿度カラム(cce60aa9
)に入れるとすると、以下のようなJMESPathを指定します。
{
c4cc8d14: {
type: 'DateTime',
value: timestamp
},
c4bc667d: {
type: 'Number',
value: temperature
},
cce60aa9: {
type: 'Number',
value: humidity
}
}
これにより、上記のJSONの例では、以下のようなJSONが生成され、この値を使用してPlatioのレコードが作成されます。
{
"c4cc8d14": {
"type": "DateTime",
"value": "2017-06-06T11:43:43.000Z"
},
"c4bc667d": {
"type": "Number",
"value": 29.5
},
"cce60aa9": {
"type": "Number",
"value": 43.6
}
}
値のテンプレートにレコードを渡すのチェックボックスをチェックした場合、ゲートウェイから渡されたデータだけではなく、Funnelのレコード自体が変換元のJSONとして使われます。ただし、元のレコードと比較すると、以下の点が異なります。
operatorId
など)は削除されますtimestamp
の値から取得した日時が、ISO8601形式でtimestampDateTime
に設定されます例えば、以下のようなJSONが変換元のJSONとして使われます。Funnelから渡される情報を使用する必要がある場合には、このチェックボックスをチェックしてください。
{
"timestamp": 1452791551499,
"timestampDateTime": "2016-01-14T17:12:31.499Z",
"destination" : {
"applicationId": "pmeecfumurfgy3lml6udxbrm4ci",
"collectionId": "t54308ca"
},
"payloads": {
"timestamp": "2017-06-06T11:43:43.000Z",
"temperature": 29.5,
"humidity": 43.6
},
"sourceProtocol": "HTTP",
"imsi": "440XXXXXXXXXXXX"
}
Platioに渡す値の形式の詳細については、Platio API ドキュメントを参照してください。