IoT Platform DRC(オンデマンドデータ収集)

インターフェースリファレンス

(14.0_0)

 

 

 

 

 


 

 

<改版履歴>

版数

説明

日付

9.0_0

初版

2019/8/22

11.0_0

版数を修正

2021/1/16

14.0_0

機能エンハンス

変更なし

2022/4/1


 

はじめに

 

このたびは「IoT Platformサービス(以下、本サービス)」をご検討いただき、誠にありがとうございます。

この「IoT Platform DRC(オンデマンドデータ収集) インターフェースリファレンス(以下、本書)」は、本サービスをご契約いただいたお客様、またはご採用いただくお客様のための資料です。下記につきましてご了承くださいますよう、よろしくお願いいたします。

1. ご検討中のお客様は、本書を本サービスご採用可否のご判断のためにのみ、ご参照願います。

2. 本書および本書の内容について、第三者へご開示、ご提供にはならないようにお願いいたします。

3. 発行元の許可なく、本書の記載内容を複写、転写することを禁止します。

 

本書には本サービスをご採用いただくための重要な情報を記載しています。

ご契約いただいたお客様は、ご利用前に本書をよくお読みの上、本サービスをご利用ください。なお、本書は大切に保管してください。

ご採用いただけないお客様は、お客様の責任で本書をすみやかに廃棄願います。

 

本書の作成にあたって、細心の注意を払い可能な限り分かりやすい記載に努めていますが、本書の記述に誤りや欠落があっても弊社はいかなる責任も負わないものとします。本書及びその記述内容は予定なく変更される場合があります。

 

本書の内容の一部または全部を無断で複製・転載・改編しないでください。

 

免責事項について

・本サービスのマニュアルに記載されていない操作を行なったことで思わぬ誤動作や、予期せぬ課金が発生した場合であっても一切の責任を追いかねます。

・本サービスの利用、または利用できなかったことにより万が一損害(業務の中断・データの破損/損失・事故などによる損害や第三者からの賠償請求の可能性を含む)が生じたとしても、責任を一切負いかねます。


<用語>

用語

説明

備考

IoT

Internet of Thingsの略

「モノのインターネット」と言われるが、「モノがインターネットプロトコル(インターネット言語)でネットワークされている状態」のこと。

 

REST

REpresentational State Transfer の略

複数のソフトウェア連携に適した設計原則をWebに適用したソフトウェアの設計様式を示す。

※特定のURLにパラメータを指定してHTTPでアクセスするとXMLで記述されたメッセージが送られてくるような、呼び出しインターフェース(「RESTful API」と呼ばれる)。

本サービスではXMLではなくJSON形式で返信する。

 

DRC(オンデマンドデータ収集)

エッジに蓄積された実データを効率よく利活用できる機能

 

リソース

リソースデータの収集単位

 

リソースデータ

1つのデータ

 

アクセスコード

リソースを対象に設定する認可情報

 

 



 


- 目次 -

1       はじめに... 2

1.1.    本書の目的... 2

1.2.    ドキュメント構成... 2

2       全体共通事項... 3

2.1.    前提事項... 3

2.2.    利用するリソースパス... 3

2.3.    注意事項... 4

2.3.1.    データ登録日時の指定禁止について... 4

2.3.2.    取得データが大量になる場合について... 4

2.4.    本書の記載について... 4

2.4.1.    リクエスト記載について... 4

2.4.2.    レスポンスのデータ記載について... 4

3       インターフェース詳細(活用システム発行)... 5

3.1.    エッジ機器(GW)情報取得... 5

3.2.    メタデータ検索・取得... 5

3.3.    検索指示・検索キャンセル指示発行... 6

3.4.    指示完了通知取得... 8

3.5.    進捗取得... 11

3.6.    処理済データ取得... 12

4       インターフェース詳細(エッジ機器(GW)発行)... 14

4.1.    エッジ機器(GW)情報登録... 14

4.2.    メタデータ登録... 14

4.3.    メタデータ登録確認... 15

4.4.    検索指示・検索キャンセル指示取得... 16

4.5.    送信完了登録... 17

4.6.    進捗登録... 18

4.7.    処理済データ登録... 19

 


 

第1章     はじめに

 

1.1.  本書の目的

 

 本書はIoT Platform(以下:本サービス)に含まれるDRC(オンデマンドデータ収集)機能(以下:本機能)のご利用に際し、APIを利用しアプリケーションを開発する方向けの「インターフェースリファレンス」です。

 

 

1.2.  ドキュメント構成

 

サービスのご利用に際し、お客様を支援するための以下のマニュアルをご用意しております。

 

マニュアル名

説明

IoT Platform サービス詳細説明書

本サービスのサービス仕様を説明しています。

IoT Platform ユーザーガイド

本サービスを利用したシステムを設計するにあたって、具体的な例を交えて設計指針の説明を行うマニュアルです。

IoT Platform APIリファレンス

本サービスで提供するサービスを利用したアプリケーションを設計するためのAPIのリファレンスマニュアルです。

IoT Platform

サービスポータル操作マニュアル

Web インターフェース機能(以下:サービスポータル)に関するマニュアルです。

IoT Platform DRC(オンデマンドデータ収集)ユーザーガイド

本機能を利用したシステムを設計するにあたって、具体的な例を交えて設計指針の説明を行うマニュアルです。

IoT Platform DRC(オンデマンドデータ収集)インターフェースリファレンス

本機能で提供するサービスを利用したアプリケーションを設計するためのインターフェースのリファレンスマニュアルです。(本書)

 

Memo

リソース、アクセスコードなど本サービス全般の定義・考え方については、「IoT Platform サービスポータル操作マニュアル」第3章をご参照ください。

また、DRC(オンデマンドデータ収集)については「IoT Platform DRC(オンデマンドデータ収集)ユーザーガイド」を参照ください。

 

 


 

第2章     全体共通事項

 

本機能は、本書にて定めるリソースに対し、本書にて定めるデータフォーマットとなるリソースデータを格納および取得することにより動作します。本章ではその共通事項について説明します。

 

 

2.1.  前提事項

 

 本機能を利用するにあたっての前提事項を以下に示します。

 

l  リソースデータの格納および取得には、本サービスのAPIを利用します。APIの詳細については「IoT Platform APIリファレンス」を参照してください。

l  本書にて記載するデータフォーマットにおいて、特に記載のない諸元値は本サービスのAPI仕様に準じます。諸元値の詳細については「IoT Platform APIリファレンス」を参照してください。

l  本機能を利用するにあたり、本サービスに対する以下の操作をあらかじめ行う必要があります。操作方法の詳細については「IoT Platformサービスポータル操作マニュアル」および「IoT Platform DRC(オンデマンドデータ収集) ユーザーガイド」を参照してください。

Ø  リソース、アクセスコードの作成

Ø  DRC(オンデマンドデータ収集)機能の有効化

 

 

2.2.  利用するリソースパス

 

 本機能にて利用されるリソースパスの一覧を以下に示します。

 

No

リソースパス

用途

生成者

(生成時期)

説明

1

<drc>/meta/gws

エッジ機器(GW)情報の登録

エッジ機器(GW)登録情報の取得

システム

(有効化時)

4.1

3.1

2

<drc>/meta/publish

メタデータの登録

システム

(有効化時)

4.2

3

<drc>/meta/keys/<key>

<drc>/meta/keys/<key>/<partition_id>

分解されたメタデータの検索・取得

ご利用者様

(利用開始時)

3.2

4

<drc>/meta/confirm/<gw_id>

メタデータ登録結果の取得

システム

(GW登録時)

4.3

5

<drc>/request/search

検索指示・検索キャンセル指示の登録

システム

(有効化時)

3.3

6

<drc>/request/clients/<gw_id>

検索指示・検索キャンセル指示の取得

システム

(GW登録時)

4.4

7

<drc>/response/sent_flags/<gw_id>

検索処理結果の登録

システム

(GW登録時)

4.5

8

<drc>/response/search

指示完了通知の登録

システム

(有効化時)

3.4

9

<drc>/response/progress/<gw_id>

指示進捗状況の登録

指示進捗状況の取得

システム
(GW
登録時)

4.63.5

10

<drc>/response/preprocessed

検索結果(処理済データ)の登録

検索結果(処理済データ)の取得

システム

(有効化時)

4.73.6

(*) <drc>:本機能で利用するPrefixリソース(機能有効化時に指定)

 

 

2.3.  注意事項

 

 本機能を利用するにあたっての注意事項を以下に示します。

 

 

2.3.1.           データ登録日時の指定禁止について

 

 本サービスのAPI仕様では、データ登録を行う際に登録日時を指定することができます。しかし、本機能を利用する際のデータ登録においては、登録日時の指定を行わないでください。登録日時の指定が行われた場合、正しく動作できない場合があります。

 

 

2.3.2.           取得データが大量になる場合について

 

 REST APIを利用したリソースからのデータ取得において、取得対象となるデータが1000件を超える場合、またはデータ総量が16MBを超える場合には、本サービスの仕様により一斉取得はできず、分割取得を行う必要があります。分割取得方法の詳細は、「IoT Platform ユーザーガイド」「IoT Platform APIリファレンス」を参照してください。

 

 

2.4.  本書の記載について

 

2.4.1.           リクエスト記載について

 

 本書のリクエストの記載は、特に記載のない場合、本サービスREST API仕様が前提となります。REST API仕様の詳細はIoT Platform APIリファレンス」を参照してください。

 

2.4.2.           レスポンスのデータ記載について

 

 本サービスにおいてREST APIにて格納データを取得した場合”_data””_date””_resource_path”の情報が通知されますが、本書では”_data”の内容のみ記載しています。

 

取得データ例:

[

  {

    "_data":

{

本書記載の範囲      "keyX": "valueX",

      "keyY": "valueY"

    },

    "_date": "yyyymmddThhmmss.xxxZ",

    "_resource_path": "aaa/bbb/ccc"

  }

]

 


 

第3章     インターフェース詳細(活用システム発行)

 

 本章では、活用システムから発行するインターフェースについて示します。

 

3.1.  エッジ機器(GW)情報取得

 

ž   用途

4.1節で登録したエッジ機器(GW)情報を取得します。

 

ž   Request

パラメータ

Method

GET

URI

<Base URL>/v1/<Tenant ID>/<drc>/meta/gws/_past?<Query>

Body

なし

 

Query例:

用途

Query

エッジ機器(GW)指定

$filter=gw_id eq <gw_id>’

 

ž   Response

ž   Body

Parameters

形式

M/O(*1)

説明

最大長

gw_id

string

M

4.1節にてgw_idに設定したエッジ機器(GW)ID

半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

(*1) M:必須、O:オプション

 

取得データ例:

{

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6"

}

 

 

3.2.  メタデータ検索・取得

 

ž   用途

4.2で登録し、分解格納されたメタデータの検索および取得を行います。

 

ž   Request

パラメータ

Method

GET

URI

パーティション分割なし

<Base URL>/v1/<Tenant ID>/<drc>/meta/keys/<key>/_past?<Query>

パーティション指定

<Base URL>/v1/<Tenant ID>/<drc>/meta/keys/<key>/<partition ID>/_pas t?<QUERY>

全パーティション指定

<Base URL>/v1/<Tenant ID>/<drc>/meta/keys/<key>/$all/_past?<Query>

Body

なし

 

Query例:

用途

Query

value指定

$filter=value eq <value>

valueおよび時刻範囲指定

$filter=value eq <value> and _date gt <起点時刻> and _date lt <終点時刻>

_dateには、4.2節のメタデータ登録にて指定した「データ生成日時(meta._date)」が設定されています。

 

ž   Response

ž   Body

Parameters

形式

M/O(*1)

説明

最大長

idx_id

string

M

4.2節にてidx_idに設定したメタデータID

(*2)

gw_id

string

M

4.2節にてgw_idに設定したエッジ機器(GW)ID

半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

value

任意

M

4.2節にて<key>に設定した<value>の値

(*2)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

データ例:

{

  "idx_id": "f88787f0-5475-478d-b46d-3c7b78223322",

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6",

  "value": 139.9

}

 

 

3.3.  検索指示・検索キャンセル指示発行

 

ž   用途

エッジ機器(GW)に対する前処理およびデータ送信の要求指示、またはその要求のキャンセル指示を行います。

検索指示において、本機能は、本サービスに格納されたメタデータから<keys>:<filters>の検索条件すべてに合致するデータを検索し、それを格納したエッジ機器(GW)に対して検索指示を発行します。

検索キャンセル指示において、本機能は、req_idによって特定される検索指示にて指示を発行したエッジ機器(GW)に対し、検索キャンセル指示を発行します。

本機能により発行された検索指示、および検索キャンセル指示は、エッジ機器(GW)4.4節のインターフェースを用いて取得します。

 

ž   Request

パラメータ

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/<drc>/request/search

Body

データ検索要求指示

検索要求のキャンセル指示

 

ž   Body:検索指示

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

req_id

string

M

リクエストID

(*2)

type

string

M

“search”を指定します

(*2)

preproc

string

M

前処理メソッド名

(*2)

conditions

object

O

前処理条件

(*2)

 

<key>:<value>

任意

O

エッジ機器(GW)で前処理を行う際の条件

(*2)

keys

string

(配列)

M

メタデータ検索条件とするkey

要素数

1 - 10

文字列長

128

filters

string

(配列)

M

keysに設定したそれぞれのkeyに対応するfilter条件。条件に利用できる演算子は「IoT Platform APIリファレンス」の「リソース_JSONのデータ検索」節を参照ください。

要素数

1 - 10

文字列長

128

graceful

object

O

要素数

0 - 3

 

searchreq_all_timeout

integer

O

検索要求のタイムアウト時間()

0を指定した場合はタイムアウトしません。

・指定されていない場合、0として扱います。

0 - 21474835

 

number_limit

integer

O

検索対象データ数の上限値

・指定されていない場合、10000として扱います。

1 - 2147483647

 

gw_limit

integer

O

検索対象エッジ機器(GW)数の上限値

・指定されていない場合、10000として扱います。

1 - 2147483647

verbose

boolean

O

詳細ログの出力有無

・指定されていない場合、falseとして扱います。

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "type": "search",

  "preproc": "PeopleCounting",

  "conditions": {

    "datetime": "20190305T123456.000Z"

  },

  "keys": [

    "content",

    "device_id"

  ],

  "filters": [

    "value eq 'motion' and _date ge 20190305T123456.000Z",

    "value eq 'dev-001'"

  ],

  "graceful": {

    "searchreq_all_timeout": 3600,

    "number_limit": 1000,

    "gw_limit": 1000

  },

  "varbose": true

}

 

ž   Body:検索キャンセル指示

Parameters

形式

M/O(*1)

説明

最大長

req_id

string

M

検索要求指示で指定したリクエストID

(*2)

type

string

M

“cancel”を指定します

(*2)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "type": "cancel"

}

 

ž   Response

ž   Body

なし。

 

3.4.  指示完了通知取得

 

ž   用途

3.3節で発行した検索・キャンセル要求の結果を取得します。指示完了通知は、本機能が以下の契機で格納します。

Ÿ   検索要求の受付(検索要求でverbosetrueを設定した場合)

Ÿ   エッジ機器(GW)への検索指示の発行完了(検索要求でverbosetrueを設定した場合)

Ÿ   検索指示を発行した全エッジ機器(GW)からの送信完了を受付、検索要求タイムアウト満了、キャンセル要求の受付のいずれか

 

ž   Request

パラメータ

Method

GET

URI

<Base URL>/v1/<Tenant ID>/<drc>/response/search/_past?<Query>

Body

なし

 

Query例:

用途

Query

リクエストID指定

$filter=req_id eq <req_id>’

 

ž   Response

ž   Body

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

req_id

string

M

3.3節にて指定したリクエストID

(*2)

preproc

string

M

3.3節にて指定した前処理メソッド名

(*2)

conditions

object

O

3.3節にて指定した前処理条件

(*2)

 

<key>:<value>

任意

O

3.3節にて指定したエッジ機器 (GW)で前処理を行う際の条件

(*2)

keys

string

(配列)

M

3.3節にて指定したメタデータ検索条件とするkey

要素数

1 - 10

文字列長

128

filters

string

(配列)

M

3.3節にて指定したkeysに設定したそれぞれのkeyに対応するfilter条件。

要素数

1 - 10

文字列長

128

graceful

object

O

要素数

0 - 3

 

searchreq_all_timeout

integer

O

3.3節にて指定した検索要求のタイムアウト時間()

0 - 2147483647

 

number_limit

integer

O

3.3節にて指定した検索対象データ数の上限値

1 - 2147483647

 

gw_limit

integer

O

3.3節にて指定した検索対象エッジ機器 (GW)数の上限値

1 - 2147483647

verbose

boolean

O

3.3節にて指定した詳細ログの出力有無

detail

object

M

 

message

string

O

エラーメッセージ(1)

(*2)

 

searchreq_number_limit

integer

O

検索要求上限数

1 – 100

 

inprogress

boolean

M

検索処理の実行状況

TRUE : 処理中

FALSE : 完了

 

gws_status_summary

object

O

エッジ機器(GW)の集計結果

 

 

processing

integer

O

処理中エッジ機器(GW)

0 – 2147483647

 

 

succeeded

integer

O

処理成功エッジ機器(GW)

0 – 2147483647

 

 

failed

integer

O

処理失敗エッジ機器(GW)

0 – 2147483647

 

 

canceled

integer

O

処理キャンセル済エッジ機器(GW)

0 – 2147483647

 

data_status_summary

object

O

データの集計結果

 

 

processing

integer

O

処理中データ数

0 – 2147483647

 

 

succeeded

integer

O

処理成功データ数

0 – 2147483647

 

 

failed

integer

O

処理失敗データ数

0 – 2147483647

 

 

canceled

integer

O

処理キャンセル済データ数

0 – 2147483647

 

gws_status

object

O

エッジ機器(GW)ごとの処理結果

 

 

<gw_id>

object

O

エッジ機器(GW)ID

半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

 

 

 

status

string

O

前処理結果。以下の文字列のいずれかが指定されます。

succeeded

failed

timeout

canceled

(*2)

 

 

 

error_message

string

O

エラーメッセージ(2)

(*2)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

取得データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "preproc": "PeopleCounting",

  "conditions": {

    "datetime": "20190305T123456.000Z"

  },

  "keys": [

    "content",

    "device_id"

  ],

  "filters": [

    "value eq 'motion' and _date ge 20190305T123456.000Z",

    "value eq 'dev-001'"

  ],

  "graceful": {

    "searchreq_all_timeout": 3600,

    "number_limit": 1000,

    "gw_limit": 1000

  },

  "varbose": true,

  "detail": {

    "inprogress": false,

    "gws_status_summary": {

      "processing": 0,

      "succeeded": 1,

      "failed": 1,

      "canceled": 2

    },

    "data_status_summary": {

      "processing": 0,

      "succeeded": 5,

      "failed": 5,

      "canceled": 2

    },

    "gws_status": {

      "31f75c2d-5e29-441b-a19f-579119bd92fe": {

        "status": "failed",

        "error_message": "failed to execute"

      },

      "384fdc12-3e49-1123-ab43-39db49e917a3": {

        "status": "succeeded"

      }

    <途中略>

    }

  }

}

 

ž   メッセージ一覧(エラーメッセージ(1)

No

エラーメッセージ文字列

対処方針

出力単位

1

Request Parameter error. (Error=[<異常パラメータ詳細>])

リクエストパラメータに異常があります。リクエストパラメータを見直してください。

検索要求

2

req_id is already used. (requestId=<リクエストID>)

実施中の検索要求とリクエストIDが重複しています。以下のいずれかを実施してください。

・先に実行した検索要求の完了を待ち、再度要求する。

・先に実行した検索要求に対しキャンセル要求を発行し、再度要求を発行する。

・リクエストIDを変更し、再度要求を発行する。

検索要求

3

Search Request limit has been exceeded. (requestID=<リクエストID>)

検索要求数上限を超えています。以下のいずれかを実施してください。

・先に実行した検索要求の完了を待ち、再度要求する。

・先に実行した検索要求に対しキャンセル要求を発行し、再度要求を発行する。

検索要求

4

Request Received.

検索要求を受け付けました。

(verbosetrueを指定したときのみ出力されます)

検索要求

5

Invalid filter condition. (Error=Failed to parse filter, filter=<filter条件>)

filter条件の書式に誤りがあります。

filter条件の設定内容を見直してください。

検索要求

6

As a result of metadata search, there is no target data. (Url=<検索したURL>)

指定されたkeys,filtersで検索した結果、適合したデータが0件でした。検索条件を確認してください。

検索要求

7

The request ID is not in process.

キャンセル要求されたリクエストIDは処理中ではありません。リクエストIDを確認してください。

キャンセル要求

8

Search buffer limit exceeded.

検索バッファの上限を超えました。

検索結果が少なくなるよう条件を変更してください。

検索要求

 

ž   エラーメッセージ一覧(エラーメッセージ(2)

No

エラーメッセージ文字列

対処方針

出力単位

1

failed to execute

検索・キャンセル指示の書き込みに失敗しました。少し待ってから再実行してください。

エッジ機器(GW)

2

GW number limit exceeded

検索対象ゲートウェイ数の上限値を超えています。上限値を見直してください。

エッジ機器(GW)

3

data number limit exceeded

検索対象データ数の上限値を超えています。上限値を見直してください。

エッジ機器(GW)

4

failed to preprocess in GW

エッジ機器(GW)での処理が失敗しています。エッジ機器(GW)の処理を確認してください。

エッジ機器(GW)

5

search request timeout

検索要求がタイムアウトしました。検索要求のタイムアウト時間を見直してください。

エッジ機器(GW)

 

3.5.  進捗取得

 

ž   用途

4.6節で登録した進捗情報を取得します。

 

ž   Request

パラメータ

Method

GET

URI

全エッジ機器(GW)の進捗確認

<Base URL>/v1/<Tenant ID>/<drc>/response/progress/$all/_past?<Query>

特定エッジ機器(GW)の進捗確認

<Base URL>/v1/<Tenant ID>/<drc>/response/progress/<gw_id>/_past?<QUERY>

Body

なし

 

Query例:

用途

Query

リクエストID指定

$filter=req_id eq <req_id>’

 

ž   Response

ž   Body

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

req_id

string

M

4.6節にて設定したリクエストID

(*2)

%complete

integer

O

4.6節にて設定した前処理の進捗状況

0 – 100

gw_id

string

M

4.6節にて設定したエッジ機器(GW)ID。半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

date

string

O

4.6節にて設定した進捗通知時刻

(*2)

num_tasks

integer

O

4.6節にて設定した前処理対象のデータ数

1-1000

preproc

string

O

4.6節にて設定した前処理メソッド名

(*2)

<key>:<value>

任意

O

4.6節にて設定した任意の<key>:<value>

(*2)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

取得データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "%complete": 50,

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6",

  "date": "20190305T123456.000Z",

  "num_tasks": 10,

  "preproc": "PeopleCounting"

}

 

3.6.  処理済データ取得

 

ž   用途

4.7節で登録した処理済データを取得します。

 

ž   Request

パラメータ

Method

GET

URI

<Base URL>/v1/<Tenant ID>/<drc>/response/preprocessed/_past?<Query>

Body

なし

 

Query例:

用途

Query

リクエストID指定

$filter=req_id eq <req_id>’

 

ž   Response

ž   Body

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

req_id

string

M

4.6節にて設定したリクエストID

(*2)

gw_id

string

M

4.6節にて設定したエッジ機器(GW)ID。半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

<key>:<value>

任意

O

4.6節にて設定した任意の<key>:<value>

(*2)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

取得データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6",

  "count": 100

}

 


 

第4章   インターフェース詳細(エッジ機器(GW)発行)

 

 本章では、エッジ機器(GW)から発行するインターフェースについて示します。

 

4.1.  エッジ機器(GW)情報登録

 

ž   用途

新しいエッジ機器(GW)を登録します。以後のエッジ機器(GW)が利用する以下のリソースが作成されます。

 

No

リソースパス

1

<drc>/meta/confirm/<gw_id>

2

<drc>/request/clients/<gw_id>

3

<drc>/response/sent_flags/<gw_id>

4

<drc>/response/progress/<gw_id>

(*) <drc>:本機能で利用するPrefixリソース(機能有効化時に指定)

 

 

ž   Request

パラメータ

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/<drc>/meta/gws

Body

エッジ機器(GW)ID情報

 

ž   Body

Parameters

形式

M/O(*1)

説明

最大長

gw_id

string

M

エッジ機器(GW)ID

全エッジ機器(GW)でユニークとなる文字列を指定してください。

半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

(*1) M:必須、O:オプション

 

データ例:

{

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6"

}

 

ž   Response

ž   Body

なし

 

4.2.  メタデータ登録

 

ž   用途

エッジ機器(GW)で生成したメタデータを登録します。

本機能は、登録されたメタデータを<key>ごとに分解し、3.2節で取得できる形式に変換して格納します。

 

ž   Request

パラメータ

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/<drc>/meta/publish

Body

エッ機器(GW)で生成したメタデータ

 

ž   Body

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

idx_id

string

M

メタデータID

全てのメタデータでユニークとなる文字列を設定してください。

(*2)

gw_id

string

M

4.1節にてgw_idに設定したエッジ機器(GW)ID

半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

meta

object

M

メタデータ

オブジェクト数

2 - 11

 

_date

string

M

データ生成日時(*3)

ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。

文字列長

16 - 24

 

<key>:<value>

任意

O

<key>に対するメタデータの実体

ひとつ以上の設定が必要です。複数個を設定できます。<key>には半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

(*4)

partition_id

string

O

メタデータの登録先分割の単位(*5)

半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

113(*6)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

(*3) 本機能により<key>ごとに分解して格納される際の登録時刻(_date)として利用されます。

(*4) keyの文字列長は、<drc>/meta/keys/<key>128文字以内となるようにしてください。

(*5) 本機能により<key>ごとに分解して格納される先のリソースパスに<partition_id>を付与します。

(*6) partition_idの文字列長は、本要求に含まれる最大長の<key>に対して、<drc>/meta/keys/<keys>/<partition_id>128文字以内となるようにしてください。

 

データ例:

{

  "idx_id": "f88787f0-5475-478d-b46d-3c7b78223322",

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6",

  "meta": {

    "_date": "20190305T123456.000Z",

    "geo_lng": 139.9,

    "geo_lat": 35.6

  },

  "partition_id": "jp-east"

}

 

ž   Response

ž   Body

なし。

 

4.3.  メタデータ登録確認

 

ž   用途

4.2節で登録したメタデータが格納できたかを確認します。登録確認データは、登録されたメタデータを本機能が処理した後に登録されます。

 

ž   Request

パラメータ

Method

GET

URI

<Base URL>/v1/<Tenant ID>/<drc>/meta/confirm/<gw_id>/_past?<Query>

Body

なし

 

Query例:

用途

Query

メタデータID指定

$filter=idx_id eq <idx_id>’

 

ž   Response

ž   Body

Parameters

形式

M/O(*1)

説明

最大長

idx_id

string

M

4.2節にてidx_idに設定したメタデータID

(*2)

status

object

M

格納状況

オブジェクト数

2 - 31

 

<key>:<value>

string

M

<key>に対する格納成否

“succeeded”または“failed”が指定されます。

 

_date

string

M

4.2節にて_dateに指定したデータ生成日時

文字列長

16 - 24

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

取得データ例:

{

  "idx_id": "f88787f0-5475-478d-b46d-3c7b78223322",

  "status": {

    "geo_lng": "succeeded",

    "geo_lat": "succeeded",

    "_date": "20190305T123456.000Z"

  }

}

 

 

4.4.  検索指示・検索キャンセル指示取得

 

ž   用途

 3.3節で要求し、本機能が各エッジ機器(GW)に対して発行した検索指示・検索キャンセル指示を取得します。

 

ž   Request

パラメータ

Method

GET

URI

<Base URL>/v1/<Tenant ID>/<drc>/request/clients/<gw_id>/_past?<Query>

Body

なし

 

Query例:

用途

Query

前回取得した指示データ以降の時刻指定

$filter=_date ge <前回取得した指示の_dateの値>

(*) 前回取得した指示データも再度取得されますので、idx_idを保持しておくなどして2度目に取得したデータを無視する考慮が必要です。比較演算子に「gt」を利用すれば前回取得した指示データを取得しなくなりますが、複数の指示データ発生と本処理が短時間に競合した場合、すべての時刻が同一となり取得取りこぼしが発生する可能性があります。

 

ž   Response

ž   Body:検索指示

Parameters

形式

M/O(*1)

説明

最大長

req_id

string

M

3.3節にてreq_idに設定したリクエストID

(*2)

type

string

M

“search” 固定

preproc

string

M

3.3節にてpreprocに指定した前処理メソッド名

(*2)

conditions

object

O

前処理条件

(*2)

 

<key>:<value>

任意

O

3.3節にてconditionsに指定したエッジ機器(GW)で前処理を行う際の条件

(*2)

idx_ids

string

配列

M

メタデータ検索にて抽出された、4.2節にて設定されたメタデータID

要素数

1 - 1000

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

取得データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "type": "search",

  "preproc": "PeopleCounting",

  "conditions": {

    "datetime": "20190305T123456.000Z"

  },

  "idx_ids": [

    "f88787f0-5475-478d-b46d-3c7b78223322",

"937ff8b2-6723-4741-8ca0-6e100522ec6d"

  ]

}

 

ž   Body:キャンセル指示

Parameters

形式

M/O(*1)

説明

最大長

req_id

string

M

3.3節にてreq_idに設定したリクエストID

(*2)

type

string

M

“cancel” 固定

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

取得データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "type": "cancel"

}

 

 

4.5.  送信完了登録

 

ž   用途

4.4節にて受信した検索指示に対し、前処理およびデータ送信が完了したことを本機能に通知します。

本機能は、検索指示を発行したエッジ機器(GW)からの送信完了登録を集約し、活用システムに対する指示完了通知を発行します。この指示完了通知は、活用システムが3.4節のインターフェースを用いて取得します。

 

 

ž   Request

パラメータ

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/<drc>/response/sent_flags/<gw_id>

Body

データ送信完了通知

 

ž   Body

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

req_id

string

M

4.4節にてreq_idに取得したリクエストID

(*2)

gw_id

string

M

4.1節にてgw_idに設定したエッジ機器(GW)ID

半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

preproc

string

M

4.4節にてpreprocに取得した前処理メソッド名

(*2)

status

string

M

“succeeded”または“failed”を指定します。

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6",

  "preproc": "PeopleCounting",

  "status": "succeeded"

}

 

ž   Response

ž   Body

なし。

 

 

4.6.  進捗登録

 

ž   用途

4.4節にて受信した検索指示の処理進捗情報を登録します。

 

ž   Request

パラメータ

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/<drc>/response/progress/<gw_id>

Body

処理進捗情報

 

ž   Body

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

req_id

string

M

4.4節にてreq_idに取得したリクエストID

(*2)

%complete

integer

O

前処理の進捗状況

0 – 100

gw_id

string

M

4.1節にて設定したエッジ機器(GW)ID。半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

date

string

O

進捗通知時刻

(*2)

num_tasks

integer

O

前処理対象のデータ数

1-1000

preproc

string

O

前処理メソッド名

(*2)

<key>:<value>

任意

O

任意の<key>:<value>

(*2)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "%complete": 50,

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6",

  "date": "20190305T123456.000Z",

  "num_tasks": 10,

  "preproc": "PeopleCounting"

}

 

ž   Response

ž   Body

なし。

 

 

4.7.  処理済データ登録

 

ž   用途

4.4節にて受信した検索指示の結果としての処理済データを登録します。

 

ž   Request

パラメータ

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/<drc>/response/preprocessed

Body

処理済データ

 

ž   Body

Parameters

形式

M/O(*1)

説明

最大長/値の範囲

req_id

string

M

4.4節にてreq_idに取得したリクエストID

(*2)

gw_id

string

M

4.1節にて設定したエッジ機器(GW)ID。半角英数字および「-」「_」が利用できます。ただし、先頭に「-」「_」は使用できません。

文字列長

36

<key>:<value>

任意

O

前処理後の実データ。任意の<key>:<value>形式で指定します。

(*2)

(*1) M:必須、O:オプション

(*2) データ全体としてAPI仕様の最大データ長まで許容します。

 

データ例:

{

  "req_id": "d92ef5bb-f109-4568-8b77-8350e7fa39d8",

  "gw_id": "b35947f0-831f-45cb-92e1-2170036e98b6",

  "count": 100

}

 

ž   Response

ž   Body

なし。