IoT Platform

APIリファレンス

(16.0_0)

 

 

 

 

 


 

 

<改版履歴>

版数

説明

日付

1.0

初版

2016/10/7

1.1

注釈の番号を振り直し(欠落を解消)

1.2節にダイナミックリソースコントローラー(DRC)の参照先を記載

2.2節を2.2.12.2.5に分割し、2.2.6を追加

2.2節に記載していた「リソース_Binary」に対する制約事項を削除

日本時間記載を全てUTCに変更
時刻凡例の「+0900」を全て「Z」に変更

2.3.1節、2.4.1SSL通信にあたってTLS1.1またはTLS1.2を使用すべきである旨を記載

2.5.1MQTTにおけるQoSに関する記載の追記

2016/11/1

1.2

誤記の修正

リソースの検索における$orderbyの記述を削除

2.1節「各パラメータの最大・最小値」に関する追記

3.2節 エラー応答追記

7.2Body文におけるlast_modifiedの日時に関する記載追記

2016/12/1

1.3

2.1節 リソースパスの利用可能文字について修正

2017/1/12

4_1.0

機能エンハンス

2.3.1節、2.3.2節 部分取得機能(Range Request)を追加

2.4節「CORS(Cross-Domain Resource Sharing)対応」を追加

3.3節、5.3 hierarchy_get権の利用方法を追加

8.1節、8.2節 クライアント証明書関連事項を追加

8.1 hierarchy_get権、hierarchy_put権を追加

2017/4/1

4_2.0

機能エンハンス

2.4節、8.1節、8.2 17年夏以降エンハンスに関する記載を削除

2.2.7通信頻度に対するシステム制限について を追加

11 システム格納データリファレンス を追加

2017/8/1

5.0_0

機能エンハンス

3.1節、3.4 csv/テキスト/バイナリ形式のデータ登録、およびデータ登録時の圧縮送信を追加

3.3節 配列形式に対する検索を追加
機能エンハンスに伴う記載内容の修正(
2.1節、付録1)

2017/11/18

5.1_0

機能エンハンス

2.1節、2.4.1節、3.1節、3.4節、3.5節、4.1節、11.3節 要求とエラー情報との関連づけ機能を追加

2.1 skip件数の最小値を変更

3.3節 検索結果の並び替え機能を追加

2.3.1節、2.5.1節 サポートするTLSバージョンの変更

補記追加

3.1節、3.2節、3.3節、3.4節、3.5節 クエリに対する補記を追加

2018/3/17

5.1_1

誤記の修正

2.1節 誤記の削除

11.3節 誤記の修正

2018/4/11

5.1_2

記載の追加

10 章タイトルの変更

10.1節 Requestにおける注意事項、Responseにおける要求仕様を追加

10.3節 リソース(転送)_JSONAPI呼出し仕様を追加

2018/6/13

7.0_0

機能エンハンス

2.3.1節、2.3.2節、2.4.1節、2.4.2節 データ取得時の圧縮通信機能を追加

2.4.1節、5.1節、5.5節 要求とエラー情報との関連づけ機能を追加

10.1 リーズンフレーズの要求を削除

11.3 失敗要因メッセージを追加

2018/9/15

9.0_0

機能エンハンス

変更なし

2019/8/22

11.0_0

仕様変更に関する追記

2.3.2HTTPレスポンスのreason-phraseに関する注意書きを追記

※以下のAPI実行時はreason-phrase付与されません。

5 リソース_Binaryデータ制御(REST)記載の全API

7 リソース制御(REST)記載の全API

8 アクセスコード制御(REST)記載の全API

9 イベント制御(REST)記載の全API

2021/1/16

14.0_0

機能エンハンス

変更なし

2022/4/1

16.0_0

ダイナミックリソースコントローラー(オンデマンドデータ収集)機能

削除にともなう 修正

2024/6/3


 

はじめに

 

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

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

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

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

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

 

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

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

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

 

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

 

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

 

免責事項について

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

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


<用語>

用語

説明

備考

IoT

Internet of Thingsの略

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

 

 

REST

REpresentational State Transfer の略

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

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

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

 

 

MQTT

Message Queuing Telemetry Transport の略

MQTTとは、TCP/IPネットワーク上の通信プロトコルで、多数の主体の間で短いメッセージを頻繁に送受信する用途に向いた軽量なプロトコル。M2MネットワークやIoTInternet of Things)分野での普及が見込まれている。ヘッダ部分が最小で2バイトと小さく、HTTPで同様の通信を行う場合より、通信量やCPU負荷・電力消費量などを数十分の一に抑える。

 

 

ダイナミック

リソース

コントローラー

Dynamic Resource Controller

富士通の広域分散技術を用いた分散制御処理。データ収集においてトラフィックの変動に従い、限られたリソースの中で最適化した収集の実現を補佐する機能。

 

 

リソース

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

 

リソースデータ

1つのデータ

 

アクセスコード

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

 

 



 


- 目次 -

1       はじめに... 3

1.1.    本書の目的... 3

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

2       全体共通事項... 4

2.1.    各パラメータの最大・最小値... 4

2.2.    注意事項... 8

2.2.1.     APIによる課金について... 8

2.2.2.     リソース、アクセスコード及びイベントのAPI操作について... 8

2.2.3.     同一リソースに対するRESTMQTTの両立について... 9

2.2.4.     リソース/アクセスコード/イベント制御インターフェースの登録・更新時のJSONキーについて    9

2.2.5.     リソースパスについて... 9

2.2.6.     リソース、アクセスコードおよびイベントの設定反映時間について... 9

2.2.7.     通信頻度に対するシステム制限について... 9

2.3.    REST(HTTP)共通事項... 10

2.3.1.     Request 10

2.3.2.     Response. 10

2.4.    CORS (Cross-Origin Resource Sharing)対応... 12

2.4.1.     Preflight Request 12

2.4.2.     要求リクエスト... 14

2.5.    MQTT共通事項... 14

2.5.1.     Request 14

2.5.2.     Response. 16

3       リソース_JSON/リソース(転送)_JSONのデータ制御(REST). 18

3.1.    リソース_JSONへのデータ登録/リソース(転送)_JSONによるデータ転送... 18

3.2.    リソース_JSONのデータ参照... 23

3.3.    リソース_JSONのデータ検索... 24

3.4.    リソース_JSONのデータ更新... 28

3.5.    リソース_JSONのデータ削除... 30

4       リソース_JSON/リソース(転送)_JSONへのデータ制御(MQTT). 32

4.1.    リソース_JSONへのデータ登録/リソース(転送)_JSONへのデータ転送... 32

4.2.    リソース_JSON/リソース(転送)_JSONのデータ参照... 33

5       リソース_Binaryデータ制御(REST). 35

5.1.    リソース_Binaryへのデータ登録... 35

5.2.    リソース_Binaryのデータ参照... 36

5.3.    リソース_Binaryのデータ検索... 37

5.4.    リソース_Binaryのデータ更新... 40

5.5.    リソース_Binaryのデータ削除... 40

6       リソース_Binaryデータ制御(MQTT). 42

6.1.    リソース_Binaryへのデータ登録... 42

6.2.    リソース_Binaryのデータ参照... 42

7       リソース制御(REST). 44

7.1.    リソースの登録... 44

7.2.    リソースのメタデータ参照... 45

7.3.    リソースのメタデータ更新... 48

7.4.    リソースの削除... 48

8       アクセスコード制御(REST). 50

8.1.    アクセスコードの登録... 50

8.2.    アクセスコードの参照... 52

8.3.    アクセスコードの更新... 54

8.4.    アクセスコードの削除... 55

9       イベント制御(REST). 57

9.1.    イベントの登録... 57

9.2.    イベント情報の参照... 60

9.3.    イベント情報の更新... 64

9.4.    イベントの削除... 65

10     外部システム呼出しリファレンス... 66

10.1.  API呼び出し(イベント機能)... 66

10.2.  Email送信(イベント機能)... 67

10.3.  API呼出し(リソース(転送)_JSON機能)... 67

11     システム格納データリファレンス... 69

11.1.  リコメンドリソース... 69

11.2.  負荷リソース... 69

11.3.  エラー収集用リソース... 70

付録1 Responseエラー時のメッセージ一覧... 72

 


 

第1章     はじめに

 

1.1.  本書の目的

 

 本書はIoT Platform(以下:本サービス)のご利用に際し、APIを利用しアプリケーションを開発する方向けの「APIリファレンス」です。

 

1.2.  ドキュメント構成

 

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

マニュアル名

説明

IoT Platform サービス詳細説明書

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

IoT Platform ユーザーガイド

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

IoT Platform APIリファレンス

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

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

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

 

Memo

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

また、ダイナミックリソースコントローラーについては「IoT Platformユーザーガイド」を参照ください。

 

 


 

第2章     全体共通事項

 

本サービスの保持するデータに対して、REST(HTTP)/MQTTにてアクセスすることによる操作が可能です。本章ではその共通事項について説明します。

 

2.1.  各パラメータの最大・最小値

 

 表1:外部インタフェース最大・最小値一覧に、REST(HTTP) のヘッダ、URI及びMQTTTopicにおいて指定するパラメータの最大・最小値を説明します。

2:filter条件詳細リソースデータ制御インタフェース 最大・最小値一覧に、REST(HTTP)にて検索時に指定するfilter条件の詳細パラメータの最大・最小値を説明します。

3: filter条件詳細アクセスコード制御・イベント制御インタフェース 最大・最小値一覧に、API操作によりアクセスコードやイベントを登録・参照・更新・削除する時に指定するfilter条件の詳細パラメータの最大・最小値を説明します。

4: select条件詳細リソースデータ制御インタフェース 最大・最小値一覧に、select条件に指定する詳細パラメータの最大・最小値を説明します。

5: Body部リソースデータ制御インタフェース最大・最小値一覧に、RESTBodyMQTTPayloadに展開されるリソースデータに記載するパラメータの最大・最小値を説明します。

 

1:外部インタフェース最大値・最小値一覧

パラメータ名

説明

使用可能文字

最小

最大

リソースパス

リソースを一意に表現するためのパス。/(スラッシュ)区切りで階層的に表現できます。
※先頭の「/」はリソースパスに含みません。

・半角英数字
・「-」、「_」、「/
※「/-」、「/_」のように、

先頭や「/」の後に「-」と「_」は指定不可。
※「//」のように「/」の連続も不可

2文字

128文字

(但しリソース(転送用)の場合「_fwd」、
リソース_Binaryの場合、「_bin」を含めて128字)

拡張子

リソースデータのフォーマットを表す拡張子

jsoncsvtxtbin

3文字

4文字

圧縮タイプ

Bodyデータを圧縮して送信する際のデータの圧縮タイプ

gzのみ

2文字

2文字

アクセスコード

外部IFアクセスの権限を示す識別子

半角英数字のみ

3文字

48文字

登録日時

登録対象データに付与する/付与された登録日時。
ISO8601(
基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。
精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)

・半角英数字および、+ or -
・英字は日付と時刻の間のTと、UTCを表すZのみ許容します。

16文字

24文字

RETAIN

MQTT broker側で本登録データを保持しておくかどうか。
true :保持する
false :保持しない

true または false

4文字

5文字

filter条件

処理対象を、<filter条件>に一致するものに限定します。
<filter
条件>は、「プロパティ名 演算子 条件値」とし、and orで複数定義できます。
登録日時を示すプロパティ名として _date を使用できます。

後述のname,valueに使用可能な文字列に従います。
valueでは、「」(シングルクォーテーション)で囲ったものを文字列、そうでないものを数値として扱います。

6文字

256文字

top件数

検索結果として得られるデータ数を限定します

半角数字

1

1000

skip件数

検索結果として得られたデータを指定件数分skipします

半角数字

0

100,000

選択key

Select条件時の選択key
 $select=<選択key>
<
選択key>で指定されたフィールドのデータのみを返します。
<
選択key>は、JSONでのnameXMLでの要素名、属性名に相当します。

・後述のnameに使用可能な文字列に従います。
<選択key>は「,」区切りで複数指定できます。
 
例)$select=data.no,data.name

8文字

256文字

Content-Type

BodyMIMEタイプ

RFC2046RFC6838RFC4289RFC6657に従います。

0文字

128文字

x-iotpf-request-id

リクエスト識別ID

%x21-%x7E
(印字可能なUSASCII

0文字

64文字

x-iotpf-meta-data1,
x-iotpf-meta-data2,
x-iotpf-meta-data3

リソースデータのメタデータ

%x21-%x7E
(印字可能なUSASCII

1文字

128文字

JSON配列要素数

Body文にJSON配列を記載する際における配列要素数

-

-

1,000

 

2filter条件詳細リソースデータ制御インタフェース 最大・最小値一覧

パラメータ名

説明

使用可能文字

最小

最大

プロパティ名

JSON形式のリソースデータにおけるname

・「”」、「\(*1)」、「」、「&」、「$」、「(」、「)」制御コードを除く、全てのUnicode文字(UTF-8)
URIの非予約文字(「半角英数字」、「-」、「.」、「_」、「~」)以外はパーセントエンコードすること。
・先頭文字として「_」は使用不可
nameとして「and」、 「or」、 「eq」、 「ne」、 「lt」、「le」、 「gt」、 「ge」は未対応。
nameが階層構造になっている場合は、<name>.<name>で表現する。深さは最大15

1文字

128文字

条件値

JSON形式のリソースデータにおけるvalueに対する条件値

・「」、「\(*1)」、「,「$」制御コードを除く、全てのUnicode文字 (UTF-8)
URIの非予約文字(「半角英数字」、「-」、「.」、「_」、「~」)以外はパーセントエンコードする必要があります。
・「」で囲ったものを文字列、そうでないものを数値として扱います。
nullは、値が存在しないことを示します。

文字列の場合、
最大256文字

整数の場合、
-999999999999999
999999999999999

実数の場合、
倍精度浮動小数点数

比較演算子

eq(等号)ne(不等号)gt(より大きい)ge(以上)lt(より小さい)le(以下)

eqnegtgeltleのいずれか

1

8
(
出現回数)

論理演算子

and(論理積)or(論理和)
論理演算子は「()」を使用して、
 (A eq 1 and B eq 1)or(A eq 2 and B eq 2)
のような表現ができます。
ただしこの場合、()内に()は定義できません。例えば、((A eq 1 and B eq 1)or(A eq 2 and B eq 2))and(C eq 1)は誤りになります。

andorのいずれか

0

8
(
出現回数)

(*1) U+005C(REVERSE SOLIDUS)

 

 

 

 

 

 

 

3filter条件詳細アクセスコード制御・イベント制御インタフェース 最大・最小値一覧

パラメータ名

説明

使用可能文字

最小

最大

プロパティ名

フィルタプロパティ名

_resource_path

1
(
出現回数)

1
(
出現回数)

条件値

各プロパティ名に対する条件値。
startwith()
による前方一致を使用可能。

・「”」、「\(*1)」、「’」,「$」制御コードを除く、全てのUnicode文字(UTF-8 1)
URIの非予約文字(「半角英数字」、「-」、「.」、「_」、「~」)以外はパーセントエンコードすること
・文字列のみを対象とし、必ず「'」で囲う

文字列の場合、
最大256文字

比較演算子

eq(等号)

eqのみ

-

3
(
出現回数)

論理演算子

and(論理積)
※論理演算子がandのみであるため、「()」は使用不可

andのみ

-

2
(
出現回数)

(*1) U+005C(REVERSE SOLIDUS)

 

4select条件詳細リソースデータ制御インタフェース 最大・最小値一覧

パラメータ名

説明

使用可能文字

最小

最大

選択key

JSON形式のリソースデータにおけるname

・「”」、「\(*1)」、「'」、「&」、「$」、「(」、「)」制御コードを除く、全てのUnicode文字(UTF-8 ※1)
URIの非予約文字(「半角英数字」、「-」、「.」、「_」、「~」)以外はパーセントエンコードすること
・先頭文字として「_」は使用不可
nameが階層構造になっている場合は、<name>.<name>で表現する。深さは最大15

1文字

128文字

選択key

複数指定

<選択key>は「,」区切りで複数指定可

,

-

10
(
出現回数)

(*1) U+005C(REVERSE SOLIDUS)

 

 

5Body部リソースデータ制御インタフェース最大・最小値一覧

パラメータ名

説明

使用可能文字

最小

最大

-

Body部に記載できる文字
Bulk Insert機能利用時)

JSON形式の配列であること

0 Byte

16Mbyte

JSONBSON形式に変換した場合のサイズ)

-

Body部に記載できる文字

拡張子に応じた内容であること

jsonまたは省略の場合

 JSON形式

csvの場合

 csvファイル形式

txtの場合

 テキストファイル形式

binの場合

 任意のバイト列

0 Byte

256kbyte

(圧縮送信時は伸長後のサイズ)

name

JSON形式のリソースデータにおけるname

・「”」、「\(*1)」、「」、「&」、「$」、「(」、「)」制御コードを除く、全てのUnicode文字(UTF-8)
・先頭文字として「_」は使用不可
nameとして「and」、 「or」、 「eq」、 「ne」、 「lt」、「le」、 「gt」、 「ge」は未対応(検索不可)
nameの階層の深さは最大15

1文字

128文字

value

JSON形式のリソースデータにおけるvalue

・「」、「\(*1)」、「,「$」制御コードを除く、全てのUnicode文字(UTF-8)
・「」で囲ったものを文字列、そうでないものを数値として扱います。
nullは、値が存在しないことを示します。

true/falseは、bool値であることを示します。

文字列の場合、
0
Body部としての最大長

整数の場合、
-999999999999999
999999999999999

実数の場合、
倍精度浮動小数点数(ただし、表示形式は必ずしも保証されません)

(*1) U+005C(REVERSE SOLIDUS)

 

2.2.  注意事項

 

2.2.1. APIによる課金について

 

本サービスでは、リソースID数、APISSLやイベントの利用回数に応じて従量課金させて頂きます。

 

2.2.2. リソース、アクセスコード及びイベントのAPI操作について

 

リソース、アクセスコード及びイベントの追加・参照・更新・削除をAPI操作するためには、予めcreatedeletelist権を持ったリソース及びアクセスコードが必要です。また、API操作できるのは、createdeletelist権を持ったアクセスコードが指定するリソースパス配下のみです。

リソース及びアクセスコードのAPI操作を行う場合、予めサービスポータルより、上階層のリソース及びアクセスコードの登録をお願いします。

 

2.2.3. 同一リソースに対するRESTMQTTの両立について

 

 「リソース_JSON」では、RESTで登録したリソースデータをMQTTにてSUBSCRIBEにより参照することができます。

但し、「リソース_Binary」においてはRESTで登録したリソースデータをMQTTにてSUBSCRIBEにより参照することはできません。

 

2.2.4. リソース/アクセスコード/イベント制御インターフェースの登録・更新時のJSONキーについて

 

本ドキュメントに記載したJSONキー以外のキーは使用不可とし、使用された場合は400 応答します。

また、他の制御インターフェースにおいて必要ないJSONキーが設定されていた場合も、400 応答します。例えば、「リソース_JSON」においてリソースデータを登録する際に、リクエストのBodyに“fwd_info”キーを設定すると“fwd_info”は「リソース(転送)_JSON」に必要な設定であるため400 応答されます。

 

 

2.2.5. リソースパスについて

 

リソースパスは以下のように定義しています。

・「リソース_JSON」:<お客様任意>

 

・「リソース(転送)_JSON」:_fwd/<お客様任意>

先頭の「_fwd/」制御文字も含みリソースパスとします。

 

・「リソース_Binary」:_bin/<お客様任意>

        先頭の「_bin/」制御文字も含みリソースパスとします。

 

2.2.6. リソース、アクセスコードおよびイベントの設定反映時間について

 

 サービスポータルや制御API操作にてリソース、アクセスコードおよびイベントの追加/変更/削除を実施した後、実施内容が利用できるようになるまで、最大5分程度の時間がかかります。(なお、この時間は将来のエンハンス等において変更される可能性があります。)

 

2.2.7. 通信頻度に対するシステム制限について

 

 通信頻度が一定時間目安を超えた場合、すべてのリクエストがエラー返却またはデータ破棄されます。これらの事象の発生は下記から確認することができます。本事象となった場合には、通信頻度の調整、または料金プランの変更をご検討ください。

 

通信手段

発生する事象

確認する方法

REST(HTTP)

エラー返却

HTTPレスポンスにより確認できます。

429 Too Many Requestsの場合に発生しています。

MQTT

データ破棄

エラーログ蓄積機能により確認できます。

“trigger”:“MP”, error_factor_message”:“Failed to execute publishing resource data, in the system internal processing.”となるエラーログ蓄積の場合に発生しています。

 


 

2.3.  REST(HTTP)共通事項

 

2.3.1. Request

Parameters

補足

Base URL

http://<zone>.fujitsu.com

https://<zone>.fujitsu.com

 

<zone>に入る値はご契約後の通知内容に従ってください。

l  httpの場合は80/tcpポートを使用

l  httpsの場合は443/tcpポートを使用(TLS1.2に対応)

l  )

Ø  URLのパス部(?」より前の部分)は、パーセントエンコードが不要になります。(パーセントエンコード不可)

 

Headers

補足

M/O(*1)

Authorization

Bearer <アクセスコード>

アクセスコードはサービスポータルにて設定した値

M

Accept-Encoding

gzip

取得データ(ペイロード)のgzip圧縮受信を希望する場合に指定

O(*2)

Range

bytes=<先頭位置>-

bytes=<先頭位置>-<末尾位置>

bytes=-<サイズ>

※コンマ区切りにより複数範囲の指定が可能

データの一部のみ取得を希望する場合に指定

※複数範囲を指定した場合は、マルチパートで応答します。

O(*3)

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

(*2) 3.2リソース_JSONのデータ参照、および3.3リソース_JSONのデータ検索のみで利用できます。

(*3) 5.2リソース_Binaryのデータ参照 のみで利用できます。

 

2.3.2. Response

Status-Code

Reason-Phrase(*1)

説明

200

OK

成功、リソースデータ作成の成功

201

Created

リソース、アクセスコード、イベント作成の成功

204

No Content

以下の何れかに該当

・リソースデータ参照時において、リソースは存在するが該当するリソースデータが存在しない

・リソースの削除において、削除成功

・メタデータ・アクセスコード・イベント参照時において、各種情報が存在しない
(将来変更する場合があります。)

・メタデータ・アクセスコード・イベント削除時において、削除成功

206

Partial content

部分取得の成功

400

Bad Request

リクエストデータに不正値があります

401

Unauthorized

リソースへのアクセス権がありません

403

Forbidden

アクセス権がありません

404

Not Found

リソースが存在しません

405

Method Not Allowed

該当のメソッドタイプは許可されていません

408

Request Time-out

リクエストタイムアウトです

409

Conflict

他のリソースと競合しています

411

Length Required

サーバアクセスを拒否しました(Content-Lengh指定なし)

412

Precondition Failed

サーバアクセスを拒否しました(リクエスト条件が不正)

413

Payload Too Large

サーバアクセスを拒否しました(リクエストボディサイズがサーバ許容範囲超越)

414

URI Too Long

サーバアクセスを拒否しました(URIが長い)

415

Unsupported Media Type

サーバアクセスを拒否しました(未サポートContent-Type

416

Requested Range Not Satisfiable

サーバアクセスを拒否しました(Range要求の値が不正)

421

Misdirected Request

レスポンスを生成できないサーバに送信されました

423

Locked

リソースがロックされています

429

Too Many Requests

契約上のトラフィック上限を超えています

495

SSL Certificate Error

無効なクライアント証明書を受信しました

496

SSL Certificate Required

クライアントからクライアント証明書が送付されませんでした

497

HTTP Request Sent to HTTPS Port

HTTPSリクエストポートにてHTTPリクエストを受信しました

500

Internal Server Error

サーバ側の問題による失敗です

501

Not Implemented

サーバで未サポートリクエストのメソッドが送信されました

502

Bad Gateway

ゲートウェイサーバが起動していません

503

Service Unavailable

一時的にアクセスできません

504

Gateway Time-out

ゲートウェイサーバが時間内にレスポンスを返せませんでした

(*1) 以下のAPI実行時は付与されません。

5 リソース_Binaryデータ制御(REST)記載の全API

7 リソース制御(REST)記載の全API

8 アクセスコード制御(REST)記載の全API

9 イベント制御(REST)記載の全API

 

Headers

補足

Content-Encoding

gzip

取得データ(ペイロード)がgzip圧縮伝送された場合に限り付与します。(*1)

Content-Length

Bodyサイズ(byte)

-

Content-Range

<先頭位置>-<末尾位置>/<全体長>

206応答にて付与します。Range要求において複数範囲を指定するとマルチパート応答となり、それぞれのパートに付与します。

(*1) 3.2リソース_JSONのデータ参照、および3.3リソース_JSONのデータ検索RequestにてAccept-Encodingが指定され、かつ取得したデータの圧縮前のサイズが1024byteを超える場合に付与します。

 

1.   エラー時は以下の形式で詳細情報を設定する

 

Headers

補足

Content-Type

application/json

または

application/json; charset=UTF-8

固定

 

1.   Body

{"errors": [{

      "message": "<メッセージ>",

      "<任意のname>": "<任意のvalue>"

}]}

       

パラメータ名

補足

M/O(*1)

メッセージ

エラーの詳細情報

M

任意のname

エラーの付加情報のname

エラーに応じて任意のnameを設定

O

任意のvalue

<任意のname>に応じたvalue

O

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

 

エラー時はBodyに詳細情報が設定されます。詳細情報については、付録1を参照してください。

 

 

 

2.4.  CORS (Cross-Origin Resource Sharing)対応

 

Webブラウザでは、同一生成源ポリシー (Same-Origin Policy) によってWebページを生成したドメイン以外へのREST (HTTP) リクエストは基本的にはできません。IoT Platformでは、安全にクロスドメインアクセスを許可する仕組みとしてCORS (Cross-Origin Resource Sharing)(*1) に対応しています。

(*1) W3Cにて規定されています。(http://www.w3.org/TR/cors/)

 

CORS仕様に準じてクロスドメインアクセスを行う際の通信手順には、以下の2種類があります。

Ø  直接、クロスドメインアクセスするリクエスト(本要求リクエスト)を送信する手順。

Ø  Preflight Request(クロスドメインアクセスが可能か否かを確認するリクエスト)を送信し、そのレスポンスを受けた後に改めてクロスドメインアクセスするリクエスト(本要求リクエスト)を送信する手順。

 

 なお、CORS対応はREST(HTTP)アクセスに限り動作します。サービスポータルへのアクセスには動作しませんのでご注意ください。

 

2.4.1. Preflight Request

 

l Request

Method

補足

Options

-

-

 

Headers

補足

M/O(*1)

Origin

<オリジンサーバのドメイン>

-

M

Access-Control-Request-Method

POSTPUTGETDELETEのいずれか

本要求のREST (HTTP) で使用するメソッドを指定してください。

M

Access-Control-Request-Headers

Authorization

-

M

Content-Type

下記参照ください。

O

Range

下記参照ください。

O

x-iotpf-meta-data1

x-iotpf-meta-data2

x-iotpf-meta-data3

下記参照ください。

O

x-iotpf-request-id

下記参照ください

O

Accept-Encoding

下記参照ください

O

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

 

Ø  Access-Control-Request-Headersの補足事項について

²  複数ヘッダを指定する場合は、「,」(コンマ) で区切って指定します。

²  Content-Typeは、本要求リクエストが以下となる場合に必要です。

1.   リソースの登録7.1節)

2.   リソースのメタデータ更新7.3節)

3.   アクセスコードの登録8.1節)

4.   アクセスコードの更新8.3節)

5.   イベントの登録9.1節)

6.   イベント情報の更新9.3節)

7.   リソース_JSONへのデータ登録/リソース(転送)_JSONによるデータ転送3.1節)

8.   リソース_JSONのデータ更新3.4節)

9.   リソース_Binaryへのデータ登録5.1節)

²  x-iotpf-meta-data1x-iotpf-meta-data2x-iotpf-meta-data3Rangeは、本要求リクエストが以下となる場合に必要です。

1.   リソース_Binaryデータ制御(REST)5

²  x-iotpf-request-idは、本要求リクエストが以下となる場合に必要です。

1.   リソース_JSONへのデータ登録/リソース(転送)_JSONによるデータ転送3.1節)

2.   リソース_JSONのデータ更新3.4節)

3.   リソース_JSONのデータ削除3.5節)

4.   リソース_Binaryへのデータ登録(5.1)

5.   リソース_Binaryのデータ削除(5.5)

²  Accept-Encodingは、本要求リクエストが以下となる場合に必要です。

1.   リソース_JSONのデータ参照3.2節)

2.   リソース_JSONのデータ検索3.3節)

Ø  サービスポータルにてCORSが有効と設定されている場合において、Originヘッダが付与され、かつ必須ヘッダが付与されていない場合は、エラー応答 (400) を返します

 

Body

補足

なし

-

-

 

l Response

Status-Code

Reason-Phrase

説明

2.3.2節を参照

-

-

 

Headers

補足

Access-Control-Allow-Origin

*

固定(全てのオリジンを許可します)

Access-Control-Allow-Methods

OPTIONS,POST,PUT,GET,DELETE

固定

Access-Control-Allow-Headers

Authorization

固定

Content-Type

固定

Range

リソース_Binaryデータ制御(REST)

x-iotpf-meta-data1

x-iotpf-meta-data2

x-iotpf-meta-data3

リソース_Binaryデータ制御(REST)

x-iotpf-request-id

リソース_JSON/リソース(転送)_JSONのデータ制御(REST)リソース_Binaryデータ制御(REST)

Accept-Encoding

リソース_JSON/リソース(転送)_JSONのデータ制御(REST)

Access-Control-Max-Age

86400

固定(24時間)

Ø  Access-Control-Request-Headersに複数ヘッダを指定する場合は「,」(コンマ)で区切って指定します。

 

Body

補足

ボディ

成功:なし

失敗:あり(失敗エラー情報)

-

 

2.4.2. 本要求リクエスト

 

CORSを利用する場合の、通常リクエストとの差分を以下に示します。その他の共通事項は2.3節を参照ください。

 

l Request

クロスドメインアクセスする場合のRequestには、以下のヘッダを付与してください。

Headers

補足

M/O(*1)

Origin

<オリジンサーバのドメイン>

-

M

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

 

l Response

Headers

補足

Access-Control-Allow-Origin

*

固定(全てのオリジンを許可します)

CORSリクエストに対して許可した場合に限り付与します。

CORS機能は、サービスポータルから利用するか否かの設定ができます。利用する場合に限りCORSリクエストを許可します

Access-Control-Expose-Headers

Location

Content-Length

Content-Range

x-iotpf-meta-data1

x-iotpf-meta-data2

x-iotpf-meta-data3

Content-Encoding

固定

CORSリクエストに対して許可した場合に限り付与します。

 

2.5.  MQTT共通事項

 

本サービスでは、MQTT v3.1をサポートしています。

 

2.5.1. Request

l  MQTTブローカーアドレス

MQTTブローカーアドレス

ポート番号

SSL/TLS

<zone>.fujitsu.com

1883/TCP

 

<zone>.fujitsu.com

8883/TCP

l  <zone>に入る値はご契約後の通知内容に従ってください。

l  SSL/TLSTLS1.2に対応しています。

 

 

l  利用可能なメッセージタイプ

メッセージタイプ

説明

利用可否

予約済み

0

予約済み

×

CONNECT

1

クライアントからサーバへの接続要求

CONNACK

2

接続確認応答

(送信不可)

PUBLISH

3

メッセージ発行

PUBACK

4

PUBLISHの確認応答(QoS=1

PUBREC

5

PUBLISHの確認応答(QoS=2,part1

PUBREL

6

PUBLISHの解放要求(QoS=2,part2

PUBCOMP

7

PUBLISHの解放応答(QoS=2,part3

SUBSCRIBE

8

購読要求

SUBACK

9

SUBSCRIBE確認応答

(送信不可)

UNSUBSCRIBE

10

購読解除要求

UNSUBACK

11

UNSUBSCRIBE確認応答

(送信不可)

PINGREQ

12

PING要求

PINGRESP

13

PING応答

(送信不可)

DISCONNECT

14

切断通知

予約済み

15

予約済

×

 

l  固定ヘッダ設定値

Parameters

補足

適用対象の

メッセージタイプ

DUPフラグ

0 or 1 を任意に設定できます。

0:初回メッセージ

1:再送メッセージ

PUBLISH

PUBREL

SUBSCRIBE

UNSUBSCRIBE

QoSフラグ

0 or 1 or 2を任意に設定できます。
但し、セッション断を跨いだ場合において、1 or 2を設定していても0と同等の効果となります。

MQTTクライアント~ブローカー間のQoSであり、エンド~エンドではありません。

0:最高一回

1:最低一回

2:正確に一回

PUBLISH
SUBSCRIBE

RETAINフラグ

0 or 1 を任意に設定できます。

0:MQTT broker

最新情報を保持しない

1:保持する

PUBLISH

 

l  可変ヘッダ設定値

Parameters

補足

適用対象の

メッセージタイプ

プロトコル名

MQIsdp

固定

CONNECT

プロトコルバージョン

3

固定

CONNECT

User nameフラグ

1

固定

CONNECT

Passwordフラグ

1

固定

CONNECT

Will RETAIN

0

固定

CONNECT

Will QoS

0

固定

CONNECT

Willフラグ

0

固定

CONNECT

Clean Sessionフラグ

1

固定

CONNECT

キープアライブ・

タイマー

1秒以上

1800秒以下

1800秒より大きい値もしくは0秒を設定した場合、

エラー(0x05:接続拒否)

として切断

CONNECT

トピック名

<アクセスコード>/v1/<Tenant ID>/<リソースパス> (*1)

PUBLISH

SUBSCRIBE

UNSUBSCRIBE

(*1) <アクセスコード>の部分は、アクセス可否の判定のために利用します。適切な<アクセスコード>が設定されている場合、/v1/<Tenant ID>/<リソースパス>の部分が一致すればMQTTクライアント間でメッセージ交換をすることができます。

 

 

l  ペイロード設定値

l  CONNECT

Parameters

最大長

補足

クライアント識別子

クライアントを一意に識別する文字列

23文字

クライアントごとに重複なく設定してください。

User Name

ユーザ名

10文字

ご契約後の通知内容に従ってください。

(テナントID固定)

Password

パスワード

12文字

サービスポータルより設定

l  PUBLISH

²  リソースデータ登録メッセージ

l  SUBSCRIBE

²  購読対象のトピックのリスト

l  トピック名は「<アクセスコード>/v1/<Tenant ID>/<リソースパス>」とします。

l  UNSUBSCRIBE

²  購読解除対象のトピックのリスト

l  トピック名は「<アクセスコード>/v1/<Tenant ID>/<リソースパス>」とします。

 

l  MQTTのトピック名におけるワイルドカードについて
以下のパターンのワイルドカード表現に対応しています。未対応のワイルドカード表現を使用したSUBSCRIBE/UNSUBSCRIBEメッセージを受信した場合、エラーとしてコネクションを切断します。

 

No

パターン

説明

マッチするリソースパスの例

<アクセスコード>/v1/<Tenant ID>/#

<Tenant ID>のテナント内の

全てのリソースパス

DC/

DC/aaa/Tokyo

DC/bbb/Tokyo/1

DC/aaa/Fukuoka/1

DC/bbb/Fukuoka

など全て。

2

<アクセスコード>/v1/<Tenant ID>/DC/aaa/#

リソースパスの前方一致

DC/aaa

DC/aaa/Tokyo

DC/aaa/Fukuoka/1

3

<アクセスコード>/v1/<Tenant ID>/DC/+/Tokyo

リソースパスの部分一致

DC/aaa/Tokyo

²  <アクセスコード>/v1/<Tenant ID>/」は必須とします。

²  以下のワイルドカードパターンには対応していません。

l  「+」が複数出現する

l  #」と「+」の組み合わせ

l  最後に「+」が出現する

 

2.5.2. Response

l  固定ヘッダ

l  特になし

 

l  可変ヘッダ

Parameters

補足

適用対象のメッセージタイプ

接続戻りコード

0: 接続許可

1: 接続拒否(プロトコルバージョン許容不可)

2: 接続拒否(識別子拒否)

3: 接続拒否(サーバ使用不可)

4: 接続拒否(ユーザ名/パスワードが不正)

5: 接続拒否(権限なし)

CONNACK

 

l  ペイロード

l  特になし

 

 


 

第3章   リソース_JSON/リソース(転送)_JSONのデータ制御(REST)

 

リソース_JSON及びリソース(転送)_JSONの制御が行えるRESTのインターフェースの一覧を以下に示します。

 

6:データ蓄積/参照インターフェース一覧

プロトコル

種別

用途

REST

リソース_JSONへのデータ登録/

リソース(転送)

_JSONによるデータ転送

 

リソースに対して新たにデータを登録(転送)します。

[オプション]

リソース_JSONの場合:
・なし: 本サービスでの受信日時でデータを登録

・日時指定: 指定された日時でデータを登録

Bulk Insertフラグ指定: Bulk Insertでデータを登録

Bulk Insertとは一回のAPI起動で複数のデータを登録することを指します。
リソース(転送)_JSONの場合:
・なし:本サービスにおいて、限定されたURLに対してデータを転送します。URLを指定しない場合、MQTT Broker連携のみ機能します。

3.1

リソースデータの参照

リソースに登録済みのデータを参照します。

[オプション]

・なし: 最新データを返します。

・日時指定: 指定日時のデータを返します。

3.2

リソースデータの検索

リソースに登録済みのデータを、条件を指定して検索します。検索結果として、HITした登録済みデータそれぞれに、本サービスにおいて管理する登録日時情報を付加した上でデータを返します。

[オプション]

QUERYにて、検索条件を指定できます。

3.3

リソースデータの更新

リソースに登録済みのデータを更新します。

[オプション]

・新登録日時を指定: データの更新とともに、登録日時を変更します。

・なし: データの更新のみを行い、登録日時は変更しません。

3.4

リソースデータの削除

リソースに登録済みのデータを削除します。

[オプション]

QUERYにて、削除条件を指定できます。

3.5

 

 

 

 

3.1.  リソース_JSONへのデータ登録/リソース(転送)_JSONによるデータ転送

 

ž   Request

Parameters

Method

PUT

URI

データ蓄積

<Base URL>/v1/<Tenant ID>/<リソースパス>.<拡張子>.<圧縮タイプ>?$date=<登録日時>&$retain=<RETAIN>&$bulk=<Bulk Insertフラグ>&$charset=<Bodyデータ文字コード>&$skip=<Bodyデータ削除指定行>&$numconv=<数値変換>

データ転送

<Base URL>/v1/<Tenant ID>/_fwd/<リソースパス>.<拡張子>.<圧縮タイプ>?$date=<登録日時>&$retain=<RETAIN>&$charset=<Bodyデータ文字コード>&$skip=<Bodyデータ削除指定行>&$numconv=<数値変換>

Headers

2.3.1 節 参照

Body

登録対象データ

       

Memo

 IoT Platformのデータ登録では、「存在するリソースにデータを格納する」という考え方から、MethodPUTを使用する仕様です。リソースへのPOST Methodは「リソースの作成(7.1 リソースの登録)」にて使われます。

 

 

²  URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ登録対象のリソースパス

M

拡張子

以下のいずれかを指定します。省略時は「.」を含め省略し、この場合はjsonが指定されたものとみなします。

json

csv

txt

bin

O

圧縮タイプ

Bodyデータを圧縮して送信する際の圧縮タイプを以下で指定します。省略時は「.」を含め省略し、この場合はBodyデータが無圧縮とみなします。

gz

O

登録日時

登録対象データに付与する登録日時(*2)

省略可($date=含む)で、省略時は本サービスでのリクエスト受信日時を採用します。

・既に指定登録日時のデータが存在するかどうかはチェックせず、追記を行います。

O

RETAIN

MQTT broker側で本登録データを保持しておくかどうか。
true :保持する

false :保持しない

 false時は、省略可($retain=含む)

Bulk Insert指定時は、RETAINが指定されても無視します。

O

Bulk Insertフラグ

Bulk Insert(1度に複数リクエストを送信すること。)を実行するか否かを指定します。拡張子がjson、または省略の場合に限り有効です。

noneBulk Insertしません

single_resource_path:単一リソースに対してBulk Insertを実行します

none 時は省略可($bulk=含む)

O

Bodyデータ文字コード

Bodyデータの文字コードを指定します。拡張子がcsvtxtの場合に限り有効です。

utf-8   :UTF-8

shift_jis Shift-JIS

 utf-8時は省略可($charset=含む)

O

Bodyデータ削除指定行

Bodyデータの先頭から削除する行数を指定します。拡張子がcsvの場合に限り有効です。省略することができ($skip=含む)、この場合は行削除を行いません。

O

数値変換

Bodyデータ中の数値を文字列に変換するか否かを指定します。拡張子がcsvの場合に限り有効です。

true  :数値変換します。

false  :数値変換しません。

 true時は省略可($numconv=含む)

O

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。以降の「登録日時」はすべて同一仕様です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

1.   URIパラメータのクエリに対し、上記一覧に記載がなく、かつ本章の他の要求(参照、検索、更新、削除)にて許容しているものを指定した場合には、エラーとならず無視します。許容されていないものは、解析失敗としてエラー応答します。

 

²  HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

・拡張子がjsonまたは省略の場合

application/json; charset=UTF-8

固定

O

・拡張子がcsvの場合

text/csv; charset=<charset>

<charset>は以下のいずれか。

UTF-8

Shift_JIS

・拡張子がtxtの場合

text/plain; charset=<charset>

<charset>は以下のいずれか

UTF-8

Shift_JIS

・拡張子がbinの場合

BodyMIMEタイプ

・圧縮タイプがgzの場合(拡張子は任意)

application/gzip または

application/x-gzip

x-iotpf-request-id

リクエスト識別ID(任意文字列)(*2)

本サービス内および通信先の影響でリクエストが欠損した場合に出力するエラー情報に利用されます。エラー情報は11.3節を参照ください。

O

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

(*2) 値に「-」のみが設定された場合は、ヘッダ設定無しと扱います。

 

²  Body (拡張子がjsonまたは省略の場合)

1.   共通事項

Ø  メンバーの順序性は保証せず、登録時の並びで参照できるとは限りません。

Ø  重複したnameを持つメンバは保存しません。

Ø  JSON配列の最大要素数は1000個です。

2.   <Bulk Insertフラグ>なし または none の場合

Ø  JSON形式の登録対象のデータとして、配列([ ])での開始は許容しません。

3.   <Bulk Insertフラグ> single_resource_path の場合

Ø  各リソースデータを以下のJSONオブジェクトとし、JSON配列形式で複数格納できます。

Parameters

形式

説明

最大長

M/O(*1)

_date

日時(*2)

登録日時

・設定されていなければ、クエリストリングの<登録日時>を設定します。クエリストリングの<登録日時>も設定されていなければ受信日時を設定します。

24文字

O

_data

文字列

登録対象のリソースデータ本体(JSON形式)

全体の最大サイズに従う

M

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。以降の「登録日時」はすべて同一仕様です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

 

 

登録データ例:

[

{_date”: 20160717T131520Z”,

_data”: {“name1”:value1}},

{“_date”:20160717T131521Z”,

“_data”:{“name1”:value1}}

]

 

Ø  Bulk InsertフラグありのAPIBulk InsertフラグなしのAPI料金と比較して高額となります。詳細はご契約時のサービスメニューをご参照ください。

Ø  Bulk Insertにて登録したデータに対してイベント処理は行いません。

Ø  Bulk Insertにて登録したデータはMQTT Subscriberに通知されません。

²  Body (拡張子がcsvの場合)

1.   CSV形式をJSON形式に変換して格納します。変換後のデータ形式を以下に示します。

name : “csv”

value : 2重配列形式。

2.   CSVフォーマットはRFC4180に準ずる形式にしてください。

Ø  CSVの区切り文字「,(コンマ)」の直前/直後にある「”(ダブルクォーテーション)」は削除されます。

Ø  CSV中の改行コードは“CR LF”、“LF”に対応しています。

3.   CSV中の各データは以下のように解釈します。

Ø  数字(小数点を含む)または指数表記であり、かつ$numconv=falseの場合

数値と解釈します。指数表記時、仮数部と指数部の間の記号は“e”または“E”です。

Ø  true、またはfalseの場合

bool値と解釈します。

Ø  上記以外の場合

文字列と解釈します。$charset=shit_jisが指定された場合は文字コードがShift-JISであるとし、UTF-8に変換します。

※ 実際のBody中の文字コードによらず、Shift-JIS文字としてUTF-8へ変換します。

4.   Body先頭にUTF-8を示すバイトオーダーマーク(BOM)が付与されていた場合、削除されます。

5.   転送リソースによる転送、イベント発生時の付与データ、およびMQTT Subscriberへの通知は、JSON形式に変換されたデータが通知されます。

6.   以下に変換例を示します。

Bodyデータ(CSV形式)

node-a, true, 10.1

node-b, false, 20.0

格納データ(JSON形式)

{

  "csv": [

    [

      "node-a",

      true,

      10.1

    ],

    [

      "node-b",

      false,

      20

    ]

  ]

}

²  Body (拡張子がtxtの場合)

1.   テキスト形式をJSON形式に変換して格納します。変換後のデータ形式を以下に示します。

name : “txt”

value : 文字列

2.   $charset=shit_jisが指定された場合は文字コードがShift_JISであるとし、UTF-8に変換します。

※実際のBody中の文字コードによらず、Shift-JIS文字としてUTF-8へ変換します。

3.   Body先頭にUTF-8を示すバイトオーダーマーク(BOM)が付与されていた場合、削除されます。

4.   転送リソースによる転送、イベント発生時の付与データ、およびMQTT Subscriberへの通知は、JSON形式に変換されたデータが通知されます。

5.   以下に変換例を示します。

Bodyデータ(テキスト形式)

#include <stdio.h>

 

int main(int argc, char **argv)

{

     printf(“Hello, World!!\n”);

}

格納データ(JSON形式)

{

  "txt": "#include <stdio.h>\r\n\r\nint main(int argc, char *argv)\r\n{\r\n\tprintf(\"Hello, World!!\\n\";\r\n}\r\n"

}

²  Body (拡張子がbinの場合)

1.   バイナリ形式をJSON形式に変換して格納します。変換後のデータ形式を以下に示します。

name  : “bin”

value : Base64形式の文字列

2.   転送リソースによる転送、イベント発生時の付与データ、およびMQTT Subscriberへの通知は、JSON形式に変換されたデータが通知されます。

3.   以下に変換例を示します。

Bodyデータ(バイナリ形式)

1234567890

格納データ(JSON形式)

{

  "bin": "MTIzNDU2Nzg5MA=="

}

²  Bodyの圧縮送信

1.   圧縮タイプにgzを指定した場合は、Bodyデータをgzipにて圧縮し送信することができます。データ伸長し、拡張子に応じてJSON形式に変換した後に格納します。

2.   処理可能な最大データ長は、伸長後のデータ長で判断します。

3.   転送リソースによる転送、イベント発生時の付与データ、およびMQTT Subscriberへの通知は、伸長およびJSON形式に変換されたデータが通知されます。

 

2.   Response

²  正常応答時

 

Parameters

Status-Code

200 OK

Headers

2.3.2節 参照

Body

なし

 

²  エラー応答時については 2.3.2 節を参照ください。

 

 

3.2.  リソース_JSONのデータ参照

 

ž   Request

Parameters

Method

GET

URI

最新データの参照

<Base URL>/v1/<Tenant ID>/<リソースパス>/_present.<拡張子>?<QUERY>

過去データの参照(*1)

<Base URL>/v1/<Tenant ID>/<リソースパス>/_past(<登録日時>).<拡張子>?<QUERY>

Headers

2.3.1 節 参照

Body

なし

(*1) <登録日時>のデータが複数存在した場合、全てのデータを返却します。

 

²  URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ参照対象のリソースパス

M

登録日時

参照対象データの登録日時(*2)

M

拡張子

以下を指定。省略時は「.」を含め省略します。

json

O

QUERY

参照条件(後述)。省略時(?含む)は、条件なし(全て)として扱います。

O

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Zなど)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.」、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えてください。本サービスがレスポンスに格納する場合、UTCを用います。

1.   URIパラメータのクエリに対し、上記一覧に記載がなく、かつ本章の他の要求(登録、検索、更新、削除)にて許容しているものを指定した場合には、エラーとならず無視します。許容されていないものは、解析失敗としてエラー応答します。

 

²  QUERY一覧

書式

説明

$select=<選択key>

<選択key>で指定されたフィールドのデータのみを返します。

<選択key>は、JSONでのnameXMLでの要素名、属性名に相当し、登録データ内の任意のkeyを指定できます。フィールドの階層は「.」で表現します。

<選択key>は「,」区切りで複数指定できます。

・本サービスの管理データである、_date/_resource_path/_data<選択key>に使用できません。

例)$select=sensor.id,sensor.name,sensor.data.temp

 

3.   Response

²  正常応答時

 

Parameters

Status-Code

200 OK

Headers

Content-Type

<拡張子>に従ったMIMEタイプ。

jsonの場合: application/json; charset=UTF-8

Body

一致したリソースデータ

 

 

²  Body

以下の形式で、複数の登録済みデータを返却します。

Name

Value

_resource_path

対象データのリソースパス

_date

対象データの登録日時(*1)

_data

JSON形式の登録済みのデータ

(*1) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Zなど)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.」、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えてください。本サービスがレスポンスに格納する場合、UTCを用います。

 

²  エラー応答時

1.   参照対象のリソースが存在しなかった場合、404 Not Foundを返します。

2.   条件に一致したリソースデータが存在しなかった場合、204 No Contentを返します。

3.   条件に一致したリソースデータ数が2以上でデータサイズの合計が16MBを超える場合、または、一致したリソースデータ数が1000を超える場合、400 Bad Requestを返します。

4.   その他エラーについては、2.3.2 節参照

 

 

3.3.  リソース_JSONのデータ検索

 

ž   Request

Parameters

Method

GET

URI

データ本体の取得(*1)

<Base URL>/v1/<Tenant ID>/<リソースパス(/$all 利用可)>/_past.<拡張子>?<QUERY>

HIT数の取得

<Base URL>/v1/<Tenant ID>/<リソースパス(/$all 利用可)>/_past/_count?<QUERY>

Headers

2.3.1 節 参照

Body

なし

 (*1) 検索結果として得られるデータの順番は、<リソースパス>および<登録日時>でソートします。

 

²  URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス(/$all 利用可)

検索対象のリソースパス。記述方法は後述します。

M

拡張子

以下を指定。省略時は「.」を含め省略します。

json

O

QUERY

検索条件(後述)。省略時(?含む)は、条件なし(全て)として扱います。

O

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

1.   URIパラメータのクエリに対し、上記一覧に記載がなく、かつ本章の他の要求(登録、参照、更新、削除)にて許容しているものを指定した場合には、エラーとならず無視します。許容されていないものは、解析失敗としてエラー応答します。

 

 

²  <リソースパス(/$all利用可)>の記述方法

1.   1)リソースパスをフルパスで指定:

Ø  指定したリソースパスのリソースデータを返却します。

2.   2)リソースパスの途中までを指定し、その後ろに「/$all」を付加:

Ø  指定したパス配下全てのリソースパスのリソースデータを返却します。

Ø 

Ø  AX」「A/B」「A/B/C」の3つのリソースが存在する状態で、「A/$all」を指定した場合、「A/B」および「A/B/C」の2つのリソースを対象とします。

 

Memo

対象テナント内全てのリソース_JSONを対象とした検索は以下で指定できますが、検索母数が多い場合タイムアウトするため非推奨です。

        <テナントID>/$all/_past

 

²  $all にて複数のリソースパスを対象にする場合、リクエストのAuthorizationヘッダに格納するアクセスコードは、以下のいずれかを使用する必要があります。

1.   対象リソースパス全てに read 権を持つアクセスコードを使用する。

Ø  1つでも read 権のないリソースパスを含む場合、エラー応答( 401 Unauthorized )します。

2.   対象リソースパスの上位パスにhierarchy_get権を持つアクセスコードを使用する。

Ø  hierarchy_get権を利用する際の$all指定は、リソースパスの途中までを指定し、その後ろに「$all」を付加してください。

Ø  $all」のみが指定された場合、hieraachy_get権は利用されず、read権のみが利用されます。1つでもread権のないリソースパスを含む場合、エラー応答( 401 Unauthorized )します。

 

²  QUERY一覧

書式

説明

$filter=<filter条件>

<filter条件>に一致するもののみを返すよう、結果を限定します。

<filter条件>は、「プロパティ名 演算子 条件値」とし、and orで複数定義可能です。使用可能な演算子、プロパティ名は後述します。

$top=n

検索結果として得られるデータをn件に限定します。最大取得件数は1000件です。

$skip=n

検索結果として得られたデータをnskipします検索結果として得られるデータの順番は、第一ソートkey<リソースパス>、第二ソートkey<登録日時>でソートします。

$select=<選択key>

<選択key>で指定されたフィールドのデータのみを返します。

<選択key>は、JSONでのnameに相当し、登録データ内の任意のnameを指定可能です。フィールドの階層は「.」で表現します。

<選択key>は「,」区切りで複数指定できます。

_date/_resource_path/_data<選択key>に使用できません。

例)$select=sensor.no,sensor.name,sensor.data.temp

$orderby=<ソートkey>

<ソート順>

検索結果の並べ替え方式を指定します。

<ソートkey>は、並べ替え基準となる情報を指定します。以下のいずれかが指定可能です。

 _resource_path

 _date

<ソート順>は、並べ替え順を指定します。以下のいずれかが指定可能です。

 asc : 昇順で並べ替えを行います。

 desc : 降順で並べ替えを行います。

<ソートkey><ソート順>との間は、半角スペースを置きます。

<ソートkey> <ソート順>のペアは、「,」区切りで複数指定できます。

・指定されなかった<ソートkey>における並べ替え順は不定です。

$orderbyが指定されなかった場合は、以下が指定されたものとして動作します。

 $orderby=_resource_path asc,_date desc

1.   /_count が指定された場合、$top$skip$select$orderbyは無視します。($filterのみ併用可能)

 

²  filter条件の演算子

演算子

説明

eq

等号

/temperature?$filter=Owner eq ‘Tom’

ne

不等号

/temperature?$filter=Owner ne null

gt

より大きい

/temperature?$filter=Floor1.Value gt 1000

ge

以上

/temperature?&$filter=Floor1.Value ge 1000

lt

より小さい

/temperature?$filter=Floor1.Value lt 1000

le

以下

/temperature?$filter=Floor1.Value le 1000

and

論理積

/temperature?$filter=Floor1.Value ge 1000 and Owner eq ‘Tom’

or

論理和

/temperature?$filter=Id eq 2 or Id eq 1

1.   nullは、値が存在しないことを示します。

2.   データのnameが階層構造になっている場合は、<name>.<name>で表現します。

3.   (A eq 1 and B eq 1)or(A eq 2 and B eq 2)のような表現も可能です。

Ø  ただしこの場合、()内に()は定義できません。例えば、((A eq 1 and B eq 1)or(A eq 2 and B eq 2))and(C eq 1)はエラーとなります。

4.   正規表現によるマッチングには対応していません。

5.   文字列はシングルクォートで囲みます。シングルクォートで囲まないものは数値とみなします。

6.   JSON配列の内容を指定する場合は、<name>.<配列index>で表現します。配列indexは数字です。

例:

検索対象データ

{

  “Owners”:[

    “Taro”,

    “Jiro”

  ]

}

filter条件指定例

$filter=Owners.0 eq ‘Taro’

 

Ø  配列内にオブジェクト構造があり、かつnameが数字のみで構成されている場合、配列index指定とnameの識別ができない場合があります。下記例を参考に配列indexnameの双方を指定してください。

検索対象データ例:

   {“data”:[{“0”:Taro”},{“0”:Jiro”}]}

   {“data”:[{“0”:Jiro”},{“0”:Taro”}]}

   {“data”:{“0”:Taro”}}

検索例:

filter指定条件

適合するデータ

$filter=data.0 eq ‘Taro’

①、②、③

$filter=data.1.0 eq ‘Taro’

 

 

²  filter条件に利用可能なプロパティ名

プロパティ名

説明

備考

_date

登録日時

検索対象データの登録日時(*1)

_dateで条件指定する登録日時についてはシングルクォートを使って囲みません。

任意のname

登録データに含まれる任意のname

URIの非予約文字(「半角英数字」、「-」、「.」、「_」、「~」以外)はパーセントエンコードしてください。

(*1) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Zなど)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えてください。本サービスがレスポンスに格納する場合、UTCを用います。

 

4.   Response

 

[データ本体(リソースデータ)の取得]

²  正常応答時

 

Parameters

Status-Code

200 OK

Headers

Content-Type

application/json; charset=UTF-8

Body

一致したリソースデータ

 

1.   Body

Ø  以下の形式で、複数の登録済みデータを返却します。形式は<拡張子>に従います。

Name

Value

_resource_path

対象データのリソースパス

_date

対象データの登録日時(*1)

_data

<拡張子>に従った形式の、登録済みのデータ。

(*1) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Zなど)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えてください。本サービスがレスポンスに格納する場合、UTCを用います。

 

Ø  対象リソースに検索条件に合致するデータが存在しない場合、そのリソースに関するデータは返却しません。

 

²  エラー応答時

1.   対象のリソースが存在しなかった場合、404 Not Foundを返します。

2.   条件に一致するリソースデータが存在しなかった場合、204 No Contentを返します。

3.   条件に一致したリソースデータ数が2以上でデータサイズの合計が16MBを超える場合、または、一致したリソースデータ数が1000を超える場合、400 Bad Requestを返します。

Ø  この時、エラーレスポンスに受付可能なtop数として、acceptable_top=n Bodyに格納します。

4.   その他エラーについては、2.3.2 節を参照ください。

 

[HIT数の取得]

²  正常応答時

 

Parameters

Status-Code

200 OK

Headers

Content-Type

text/plain

Body

一致したリソースデータ数

 

1.   Body

Ø  一致したリソースデータ数をそのまま返却します。

 

²  エラー応答時については、2.3.2 節を参照ください。

 

3.4.  リソース_JSONのデータ更新

 

ž   Request

Parameters

Method

PUT

URI

過去データの更新(*1)

<Base URL>/v1/<Tenant ID>/<リソースパス>/_past(<登録日時()>).<拡張子>.<圧縮タイプ>?$newdate=<登録日時()> &$charset=<Bodyデータ文字コード>&$skip=<Bodyデータ削除指定行>&$numconv=<数値変換>

Headers

2.3.1 節 参照

Body

更新対象データ

(*1) 同じ登録日時を持つデータが複数存在した場合、ひとつのみ更新(どのデータになるかは不定)されます。

 

²  URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ更新対象のリソースパス

M

拡張子

以下のいずれかを指定します。省略時は「.」を含め省略し、この場合はjsonが指定されたものとみなします。

json

csv

txt

bin

O

圧縮タイプ

Bodyデータを圧縮して送信する際の圧縮タイプを以下で指定します。省略時は「.」を含め省略し、この場合はBodyデータが無圧縮とみなします。

gz

O

登録日時()

更新対象データの登録日時(*2)

M

登録日時()

更新後の登録日時(*2)

省略可($newdate=含む)で、省略時は登録日時を更新しません。

・既に指定登録日時のデータが存在するかどうかはチェックせず、上書きを行います。

O

Bodyデータ文字コード

Bodyデータの文字コードを指定します。拡張子がcsvtxtの場合に限り有効です。

utf-8   :UTF-8

shift_jis Shift-JIS

 utf-8時は省略可($charset=含む)

O

Bodyデータ削除指定行

Bodyデータの先頭から削除する行数を指定します。拡張子がcsvの場合に限り有効です。省略することができ($skip=含む)、この場合は行削除を行いません。

O

数値変換

Bodyデータ中の数値を文字列に変換するか否かを指定します。拡張子がcsvの場合に限り有効です。

true  :数値変換します。

false  :数値変換しません。

 true時は省略可($numconv=含む)

O

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Zなど)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えてください。本サービスがレスポンスに格納する場合、UTCを用います。

l  URIパラメータのクエリに対し、上記一覧に記載がなく、かつ本章の他の要求(登録、参照、検索、削除)にて許容しているものを指定した場合には、エラーとならず無視します。許容されていないものは、解析失敗としてエラー応答します。

 

²  HTTPヘッダ

Headers

説明

M/O(*1)

Content-Type

・拡張子がjsonまたは省略の場合

application/json; charset=UTF-8

固定

O

・拡張子がcsvの場合

text/csv; charset=<charset>

<charset>は以下のいずれか。

UTF-8

Shift_JIS

・拡張子がtxtの場合

text/plain; charset=<charset>

<charset>は以下のいずれか

UTF-8

Shift_JIS

・拡張子がbinの場合

BodyMIMEタイプ

・圧縮タイプがgzの場合(拡張子は任意)

application/gzip または

application/x-gzip

x-iotpf-request-id

リクエスト識別ID(任意文字列)(*2)

本サービス内および通信先の影響でリクエストが欠損した場合に出力するエラー情報に利用されます。エラー情報は11.3節を参照ください。

O

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

(*2) 値に「-」のみが設定された場合は、ヘッダ設定無しと扱います。

 

 

²  Body

拡張子に従った形式の、登録対象のデータです。詳細は3.1節を参照ください。

Ø  JSONの場合、配列([ ])での開始は許容しません。

 

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

200 OK

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

 

3.5.  リソース_JSONのデータ削除

ž   Request

Parameters

Method

DELETE

URL

過去データの削除

<Base URL>/v1/<Tenant ID>/<リソースパス>/_past?<QUERY>

Headers

2.3.1 節、および下記参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ削除対象のリソースパス

M

QUERY

削除条件(後述)。

M

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

 

ž   HTTPヘッダ

Headers

説明

M/O(*1)

x-iotpf-request-id

リクエスト識別ID(任意文字列)(*2)

本サービス内の影響でリクエストが欠損した場合に出力するエラー情報に利用されます。エラー情報は11.3節を参照ください。

O

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

(*2) 値に「-」のみが設定された場合は、ヘッダ設定無しと扱います。

 

ž   QUERY一覧

書式

説明

$filter=<filter条件>

<filter条件>に一致するもののみを削除するよう、結果を限定します。<filter条件>は、「プロパティ名 演算子 条件値」とし、and orで複数定義可能です。使用可能な演算子、プロパティ名は後述します。

1.   URIパラメータのクエリに対し、上記一覧に記載がなく、かつ本章の他の要求(登録、参照、検索、更新)にて許容しているものを指定した場合には、エラーとならず無視します。許容されていないものは、解析失敗としてエラー応答します。

 

ž   filter条件の演算子

3.3 節を参照ください。

 

ž   filter条件に利用可能なプロパティ名

3.3 節を参照ください。

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

200 OK

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

 

 


 

第4章   リソース_JSON/リソース(転送)_JSONへのデータ制御(MQTT)

 

リソース_JSON及びリソース(転送)_JSONの制御が行えるMQTTのインターフェースの一覧を以下に示します。

 

 

7:データ蓄積/参照インターフェース一覧

プロトコル

種別

用途

MQTT

リソースへのデータ登録

リソースに対して新たにデータを追加登録(転送)します。

[オプション]

・なし: 本サービスでの受信日時でデータを登録

・日時指定: 指定された日時でデータを登録

4.1

リソースデータの参照

リソースに登録されるデータを参照します。

 

4.2

 

 

 

4.1.  リソース_JSONへのデータ登録/リソース(転送)_JSONへのデータ転送

ž   Request

Parameters

メッセージタイプ

PUBLISH

Topic

データ蓄積

<アクセスコード>/v1/<Tenent ID>/<リソースパス>

データ転送

<アクセスコード>/v1/<Tenent ID>/_fwd/<リソースパス>

他固定ヘッダおよび可変ヘッダ

2.5.1節 参照

ペイロード

本サービスヘッダ用および、登録対象データ
ペイロード内先頭の「---IoT-PF<CRLF>」以降を本サービス用ヘッダとします。

Header名と値は「<Header名>: <><CRLF>」形式で記述します。

本サービス用ヘッダの終了「<CRLF><CRLF>」にて判定するものとし、[<CRLF>]は、Headerのものを含みます。

本サービス用ヘッダは省略することができます。

 

ž   本サービス用ヘッダ

Headers

M/O(*1)

Date

<登録日時>

O

x-iotpf-request-id

<リクエスト識別ID(任意文字列)>(*2)

O

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

(*2) 本サービス内の影響でリクエストが欠損した場合に出力するエラー情報に利用されます。エラー情報は11.3節を参照ください。

 

ž   パラメータ

パラメータ名

説明

M/O(*1)

アクセスコード

アクセス権限を表す文字列。管理者から入手します。

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ登録対象のリソースパス

M

登録日時

登録対象データに付与する登録日時(*2)

省略可で、省略時は本サービスでのリクエスト受信日時を採用します。

・既に指定登録日時のデータが存在するかどうかはチェックせず、上書きを行います。

O

リクエスト識別ID

本サービス内および通信先の影響でリクエストが欠損した場合に出力するエラー情報に利用されます。エラー情報は11.3節を参照ください。

値に「-」のみが設定された場合は、設定無しと扱います。

O

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

 

ž   登録対象のデータ

1.   JSON形式の任意のデータ

Ø  配列([ ])での開始は許容しません。

Ø  メンバーの順序性は保証せず、登録時の並びで参照できるとは限りません。

Ø  重複したnameを持つメンバは保存しません。

 

ž   Response

ž   QoSレベルに応じたメッセージ(なし/PUBACKメッセージ/PUBRECメッセージ)

 

 

4.2.  リソース_JSON/リソース(転送)_JSONのデータ参照

 

MQTTでのリソースデータの参照では、SUBSCRIBEメッセージを使用します。

対象のTopic(リソースパス)をSUBSCRIBEしておくことで、以下のメッセージをMQTT PUBLISHにて受信することが可能です。

プロトコル

操作

SUBSCRIBEによる受信

Retainオプション

REST

リソースデータの登録

(*1)

リソースデータの参照

×

リソースデータの更新

×

リソースデータの削除

×

MQTT

リソースデータの登録

リソースデータの参照

×

(*1) Bulk Insertにて登録されたデータは、MQTT PUBLISHにて受信することはできません。

 

ž   Request

Parameters

メッセージタイプ

SUBSCRIBE

固定ヘッダおよび可変ヘッダ

2.5.1節 参照

ペイロード

Topic

<アクセスコード>/v1/<Tenant ID>/<リソースパス>

または

<アクセスコード>/v1/<Tenant ID>/_fwd/<リソースパス>

のリスト

 

ž   パラメータ

パラメータ名

説明

M/O(*1)

アクセスコード

アクセス権限を表す文字列。管理者から入手します。

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ登録対象のリソースパス

M

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

 

ž   Response

ž   SUBACKメッセージ


 

第5章   リソース_Binaryデータ制御(REST)

 

リソース_Binaryに対するデータ蓄積/リソースのデータ参照インターフェース一覧を以下に示します。

 

8:データ蓄積/参照インターフェース一覧

プロトコル

種別

用途

REST

リソースへのデータ登録

リソースに対して新たにデータを追加登録します。

[オプション]

・なし: 本サービスでの受信日時でデータを登録

・日時指定: 指定された日時でデータを登録

5.1

リソースデータの参照

リソースに登録済みのデータの実体を参照します。

[オプション]

・なし: 最新データを返します

・日時指定: 指定日時のデータを返します

5.2

リソースデータの検索

リソースに登録済みのデータを、条件を指定して検索します。検索結果として、HITした登録済みデータの情報を返します。

(検索できるのはメタデータのみです。登録したデータの実体は検索できません。)

[オプション]

QUERYにて、検索条件を指定できます

5.3

リソースデータの削除

リソースに登録済みのデータを削除します

[オプション]

QUERYにて、削除条件を指定できます

5.5

 

²  RESTMQTTの連携動作ついて

「リソース_Binary」においてはRESTで登録したリソースデータをMQTTSUBSCRIBEにより参照することはできません。

 

5.1.  リソース_Binaryへのデータ登録

 

ž   Request

Parameters

Method

PUT

URI

データ蓄積

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>?$date=<登録日時>

Headers

2.3.1 節 及び、下記を参照ください。

Body

登録対象データ

       

Memo

 IoT Platformのデータ登録では、「存在するリソースにデータを格納する」という考え方から、MethodPUTを使用する仕様です。リソースへのPOST Methodは「リソースの作成(7.1 リソースの登録)」にて使われます。

 

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ登録対象のリソースパス

M

登録日時

登録対象データに付与する登録日時(*2)

ž   省略できます($date=含む)。省略時は本サービスにおけるリクエスト受信日時を採用します。

ž   すでに指定登録日時のデータが存在する場合、上書き登録を行います。

O

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

BodyMIMEタイプ

各リソースデータのメタデータとして管理し、レスポンスに付与します

O

x-iotpf-meta-data1
x-iotpf-meta-data2
x-iotpf-meta-data3

任意のメタデータ

各リソースデータのメタデータとして管理し、レスポンスに付与します

O

x-iotpf-request-id

リクエスト識別ID(任意文字列)(*2)

本サービス内の影響でリクエストが欠損した場合に出力するエラー情報に利用されます。エラー情報は11.3節を参照ください。

O

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

(*2) 値に「-」のみが設定された場合は、ヘッダ設定無しと扱います。

 

ž   Body

1.   登録対象のデータ。

Ø  最大サイズ: 100MB

Ø  RESTにて登録したBinaryデータは、MQTTでは参照できません。

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

200

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

 

 

5.2.  リソース_Binaryのデータ参照

 

ž   Request

Parameters

Method

GET

URI

最新データの参照

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>/_present

過去データの参照

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>/_past(<登録日時>)

Headers

2.3.1 節 参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ参照対象のリソースパス

M

登録日時

参照対象データの登録日時(*2)

M

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

 

ž   Response

ž   正常応答時

 

Parameters

説明

Status-Code

200

成功(全体取得)

206

成功(部分取得)

Headers

field name

Value

M/O(*1)

Content-Type

BodyMIMEタイプ。

リソースデータ登録時に指定した値を設定します。

リソースデータ登録時に指定しなかった場合、「application/octet-stream」を設定します。

M

x-iotpf-meta-data1

x-iotpf-meta-data2

x-iotpf-meta-data3

メタデータ。

リソースデータ登録時に設定した場合に付与します。

O

Body

データ本体

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

 

ž   エラー応答時

1.   参照対象のリソースが存在しなかった場合、404を返します。

2.   条件に一致したリソースデータが存在しなかった場合、204を返します。

3.   その他エラーについては、2.3.2 節を参照ください。

 

 

 

5.3.  リソース_Binaryのデータ検索

 

ž   Request

Parameters

Method

GET

URI

データリストの取得(*1)

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス($all利用可)>/_past?<QUERY>

HIT数の取得

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス($all利用可)>/_past/_count?<QUERY>

Headers

2.3.1 参照

Body

なし

 (*1) 検索結果として得られるデータの順番は、<登録日時>でソートします。

 

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

検索対象のリソースパス。記述方法は後述します。

M

QUERY

検索条件(後述)。省略時(?含む)は、条件なし(全て)として扱います。

O

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

 

ž   <リソースパス(/$all利用可)>の記述方法

1.   1)リソースパスをフルパスで指定:

Ø  指定したリソースパスのリソースデータ情報を返却します。

2.   2)リソースパスの途中までを指定し、その後ろに「/$all」を付加:

Ø  指定したパス配下全てのリソースパスのリソースデータ情報を返却します。

Ø 

Ø  AX」「A/B」「A/B/C」の3つのリソースが存在する状態で、「A/$all」を指定した場合、「A/B」および「A/B/C」の2つのリソースを対象とします。

Ø  対象テナント内の全てのBinaryリソースを対象にする場合、次の通り設定します。

Ø  <テナントID>/_bin/$all/_past

 

ž   $all にて複数のリソースパスを対象にする場合、リクエストのAuthorizationヘッダに格納するアクセスコードは、以下のいずれかを使用する必要があります。

1.   対象リソースパス全てに read 権を持つアクセスコードを使用する。

Ø  1つでも read 権のないリソースパスを含む場合、エラー応答( 401 )します。

2.   対象リソースパスの上位パスにhierarchy_get権を持つアクセスコードを使用する。

Ø  hierarchy_get権を利用する際の$all指定は、リソースパスの途中までを指定し、その後ろに「$all」を付加してください。

Ø  $all」のみが指定された場合、hieraachy_get権は利用されず、read権のみが利用されます。1つでもread権のないリソースパスを含む場合、エラー応答( 401 )します。

 

 

ž   QUERY一覧

書式

説明

$filter=<filter条件>

<filter条件>に一致するもののみを返すよう、結果を限定します。

<filter条件>は、「プロパティ名 演算子 条件値」とし、andで複数定義可能。使用可能な演算子、プロパティ名は後述します。

$top=n

検索結果として得られるデータをn件に限定します。

最大取得件数は1000件です。

$skip=n

検索結果として得られたデータをnskipします検索結果として得られるデータの順番は、第一ソートkey<リソースパス>、第二ソートkey<登録日時>でソートします。

1.   /_count が指定された場合、$top$skipは無視する($filterのみ併用可能)

 

ž   filter条件の演算子

演算子

説明

eq

等号

/image?$filter=_date eq 20160101T000000.001Z

gt

より大きい

/image?$filter=_date gt 20160101T000000.001Z

ge

以上

/image?$filter=_date ge 20160101T000000.001Z

lt

より小さい

/image?$filter=_date lt 20160101T000000.001Z

le

以下

/image?$filter=_date le 20160101T000000.001Z

and

論理積

/image?$filter=_date ge 20160101T000000.001Z and _date le 20160529T101010.001Z

1.   andは上記例ののように、一度のみ使用できます。

 

ž   filter条件に利用可能なプロパティ名

プロパティ名

説明

備考

_date

登録日時

検索対象データの登録日時(*1)

_dateで条件指定する登録日時についてはシングルクォートで囲みません

(*1) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

 

ž   Response

 

[データリストの取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

application/json; charset=UTF-8

Body

一致したリソースデータのメタデータ情報

 

1.   Body

Ø  以下の形式で、複数の登録済みデータの情報をJSON形式で返却します。

Name

Value

M/O(*1)

name

リソースデータの名前。URIのパスで表現。

_bin/<リソースパス>/_past(<登録日時>)

M

content_type

リソースデータのMIMEタイプ。

リソースデータ登録時に指定したContent-Typeを設定。リソースデータ登録時に未指定の場合は、「application/octet-stream」を設定します

M

 

 

 

 

 

 

 

 

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

 

Ø  対象リソースに検索条件に合致するデータが存在しない場合、そのリソースに関するデータは返却しません

 

ž   エラー応答時

1.   対象のリソースが存在しなかった場合、404を返します。

2.   条件に一致するリソースデータが存在しなかった場合、204を返します

3.   条件に一致したリソースデータ数が1000を超える場合、400を返します。

Ø  この時、エラーレスポンスに受付可能なtop数として、acceptable_top=n Bodyに格納します

4.   その他エラーについては、2.3.2 節参照

 

[HIT数の取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

text/plain; charset=UTF-8

Body

一致したリソースデータ数

 

1.   Body

Ø  一致したリソースデータ数をそのまま返却します。

 

ž   エラー応答時については、2.3.2 節を参照ください。

 

 

5.4.  リソース_Binaryのデータ更新

 

リソー_Binaryを更新するためのインターフェースはありません。

ただし、5.1節にあるリソース_Binaryのデータ登録を用い、既に登録をした同時刻を指定して登録することにより、上書き更新が可能です。

 

 

5.5.  リソース_Binaryのデータ削除

 

ž   Request

Parameters

Method

DELETE

URI

過去データの削除

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>/_past?<QUERY>

Headers

2.3.1節 参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ削除対象のリソースパス

M

QUERY

削除条件(後述)。

M

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

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

x-iotpf-request-id

リクエスト識別ID(任意文字列)(*2)

本サービス内の影響でリクエストが欠損した場合に出力するエラー情報に利用されます。エラー情報は11.3節を参照ください。

O

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

(*2) 値に「-」のみが設定された場合は、ヘッダ設定無しと扱います。

 

ž   QUERY一覧

書式

説明

$filter=<filter条件>

<filter条件>に一致するもののみを削除するよう、結果を限定します。<filter条件>は、「プロパティ名 演算子 条件値」とし、andで複数定義できます。使用可能な演算子、プロパティ名は後述します。

 

ž   filter条件の演算子

3.3 節 参照

 

ž   filter条件に利用可能なプロパティ名

3.3 節 参照

 

ž   Response

ž   正常応答時

Parameters

Status-Code

200

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 


 

第6章   リソース_Binaryデータ制御(MQTT)

 

リソース_Binaryへのデータ蓄積/リソースのデータ参照インターフェース一覧を以下に示します。

 

9:データ蓄積/参照インターフェース一覧

プロトコル

種別

用途

MQTT

リソースへのデータ登録

リソースに対して新たにデータを追加登録します。

6.1

リソースデータの参照

リソースに登録されるデータを参照します。

6.2

 

 

 

6.1.  リソース_Binaryへのデータ登録

 

ž   Request

Parameters

メッセージタイプ

PUBLISH

Topic

<アクセスコード>/v1/<Tenent ID>/_bin/<リソースパス>

他固定ヘッダおよび可変ヘッダ

2.5.1節 参照

ペイロード

登録対象データ

 

ž   パラメータ

パラメータ名

説明

M/O(*1)

アクセスコード

アクセス権限を表す文字列。管理者から入手します。

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ登録対象のリソースパス

M

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

 

ž   登録対象のデータ

1.   最大サイズ: 16MB

 

ž   Response

ž   QoSレベルに応じたメッセージ(なし/PUBACKメッセージ/PUBRECメッセージ)

 

 

6.2.  リソース_Binaryのデータ参照

 

MQTTでのリソースデータの参照では、SUBSCRIBEメッセージを使用します。

対象のTopic(リソースパス)をSUBSCRIBEしておくことで、以下のメッセージをMQTT PUBLISHにて受信することが可能です。

REST IFにて登録したBinaryデータは、MQTTでは参照できません。

プロトコル

操作

SUBSCRIBE

による受信

Retain

オプション

REST

リソースデータの登録

×

リソースデータの参照

×

リソースデータの更新

×

リソースデータの削除

×

MQTT

リソースデータの登録

リソースデータの参照

×

 

ž   Request

Parameters

メッセージタイプ

SUBSCRIBE

固定ヘッダおよび可変ヘッダ

2.5.1節 参照

ペイロード

Topic名「<アクセスコード>/v1/<Tenent ID>/_bin/<リソースパス>」のリスト

 

ž   パラメータ

パラメータ名

説明

M/O(*1)

アクセスコード

アクセス権限を表す文字列。管理者から入手する。

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

データ登録対象のリソースパス

M

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

 

ž   Response

ž   SUBACKメッセージ

 

 


 

第7章   リソース制御(REST)

 

リソース制御が行えるインターフェースの一覧を以下に示します。

リソース制御APIを利用するにはリソース及びアクセスコードをサービスポータルにて事前に設定する必要があります。2.2節を参照願います。

10:リソース制御インターフェース一覧

種別

用途

リソースの登録

リソースを新規に登録する。

[オプション]

Bodyなし: リソースのみ作成

Bodyにメタデータ格納: 

リソース登録時にメタデータの初期設定を行う

7.1

リソースの

メタデータ参照

リソースのメタデータを参照する。

[オプション]

・リソースパスの一部を$allで指定: 

指定パス配下のリソースのメタデータを返す

7.2

リソースの

メタデータ更新

リソースのメタデータを更新する。

[オプション]

なし

7.3

リソースの削除

リソースを削除する。

[オプション]

なし

7.4

 

 

 

 

 

7.1.  リソースの登録

 

ž   Request

Parameters

Method

POST

URI

JSON

蓄積

<Base URL>/v1/<Tenant ID>/<リソースパス>

転送

<Base URL>/v1/<Tenant ID>/_fwd/<リソースパス>

Binary

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>

Headers

2.3.1 節 および下記参照

Body

メタデータ

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

登録対象のリソースパス

M

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

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

application/json; charset=UTF-8

固定

O

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

 

ž   Body

次の通り、JSON形式でメタデータを格納することでメタデータの初期化ができます。

 

Parameters

形式

M/O(*1)

説明

最大長

resource

M

開始タグ

 

retention_period

数値

O(*2)

リソースデータの保存期間()

・設定されていない場合、保存期間は1日とします。

・値の範囲は19999

9999

 

fwd_info

O(*3)

転送先情報

 

 

http

M

HTTPの転送先情報

 

 

 

method

string

M

GET”,POST”,PUT”,DELETE”,HEAD”,OPTIONS”,TRACE”のいずれか

7文字

 

 

 

uri

string

M

URI

http://または“https://

256文字

 

 

 

basic_auth_id

string

O

Basic認証用のID

20文字

 

 

 

basic_auth_pass

string

O

Basic認証用のパスワード

20文字

 

 

 

header_fields

(配列)

O

HTTPヘッダ

(配列の要素は最大10)

 

 

 

 

field_name

string

M

ヘッダフィールド名。“:は含みません。

20文字

 

 

 

 

field_value

string

M

上記ヘッダフィールドに格納する値

512文字

(*1) M:必須、O:オプション。各子要素のM/Oは、親要素を設定した場合の要否を表します。

(*2) リソース_JSON、リソース_Binaryの場合に限り有効です。

(*3) 対象リソースがJSON形式の転送リソースの場合のみ設定できます。

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

201

Headers

Location

<Base URL>/v1/<Tenant ID>/<リソースパス>

or

<Base URL>/v1/<Tenant ID>/_fwd/<リソースパス>

or

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

 

7.2.  リソースのメタデータ参照

 

ž   Request

Parameters

Method

GET

URI

データリストの取得

JSON

蓄積

<Base URL>/v1/<Tenant ID>/<リソースパス(/$all) >/_resources?<QUERY>

転送

<Base URL>/v1/<Tenant ID>/_fwd/<リソースパス(/$all)>/_resources?<QUERY>

バイナリ

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス(/$all)>/_resources?<QUERY>

HIT数の取得

JSON

蓄積

<Base URL>/v1/<Tenant ID>/<リソースパス(/$all) >/_resources/_count?<QUERY>

転送

<Base URL>/v1/<Tenant ID>/_fwd/<リソースパス(/$all)>/_resources/_count?<QUERY>

バイナリ

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス(/$all)>/_resources/_count?<QUERY>

Headers

2.3.1 節 参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

QUERY

参照条件(後述)。省略時(?含む)は、条件なし(全て)として扱う。

O

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

 

ž   <リソースパス(/$all)>の記述方法

1.   リソースパスをフルパスで指定:

Ø  指定したリソースパスのメタデータを返却します。

2.   リソースパスの途中までを指定し、その後ろに「/$all」を付加:

Ø  指定したパス配下全てのリソースパスのメタデータを返却します。

Ø 

Ø  A」「AX」「A/B」「A/B/C」の4つのリソースが存在する状態で、「A/$all」を指定した場合、「A/B」および「A/B/C」の2つのリソースを対象とします。

Ø  各リソース種別の全てのリソースパスを対象にする場合、次の通り設定します。

Ø  リソース_JSON          <テナントID>/$all/_resources

Ø  リソース(転送)_JSON:    <テナント ID>/_fwd/$all/_resources

Ø  リソース_Binary:     <テナント ID>/_bin/$all/_resources

※異なるリソース種別のリソースパスを一度に参照することはできません。

       

 

ž   QUERY一覧

書式

説明

$top=n

検索結果として得られるデータをn個に限定します(最大値は1,000)

$skip=n

検索結果として得られたデータをnskipします検索結果として得られるデータの順番は、リソースパスにてソートします。

1.   /_count が指定された場合、$top$skipは無視する

 

ž   Response

 

[データリストの取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

application/json; charset=UTF-8

Body

対象リソースのメタデータ(複数)

 

1.   Body

Ø  次の通り、各リソースのメタデータをJSONオブジェクトとし、JSON配列形式で複数格納します。

Ø  各リソースの情報は、リソースパスでソートします(昇順)

Parameters

形式

M/O(*1)

説明

最大長

resources

M

開始タグ

 

resource_path

string

M

リソースパス

128文字

 

retention_period

数値

O

リソースデータの保存期間

・設定されていない場合、保存期間は1日とします。

・値は1~9999とします。

9999

 

last_modified

日時

M

最新データの<登録日時>(*2)(*3)

20文字

 

fwd_info

O(*4)

転送先情報

 

 

http

M

HTTPの転送先情報

 

 

 

method

string

M

GET,POST,PUT,DELETE,HEAD,OPTIONS,TRACE”のいずれか。

6文字

 

 

 

uri

string

M

URI

http://または“https://

256文字

 

 

 

basic_auth_id

string

O

Basic認証用のID

20文字

 

 

 

basic_auth_pass

string

O

Basic認証用のパスワード

20文字

 

 

 

header_fields

(配列)

O

HTTPヘッダ

(配列の要素は最大10個まで設定できます)

 

 

 

 

field_name

string

M

ヘッダフィールド名。“:は含まない。

20文字

 

 

 

 

field_value

string

M

上記ヘッダフィールドに格納する値

512文字

(*1) M:必須、O:オプション。各子要素のM/Oは、親要素を設定した場合の有無を表します。

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

(*3) リソースデータ登録/更新にて<登録日時>を指定できるため、サーバの最終更新日時と最新データの<登録日時>は一致しないケースがあります。

(*4) 対象リソースがJSON形式の転送リソースの場合のみ設定します。

 

Ø  パラメータに設定値がない場合、そのパラメータはレスポンスに格納されません。

Ø  リソース内にデータが存在しない場合、last_modifiedパラメータも格納されません。

Ø  リクエストのAuthorizationヘッダに指定されるアクセスコードが、対象となるリソースへのlist権持っていない場合、参照することはできません。

ž   エラー応答時

1.   条件に一致するリソースが1つも存在しなかった場合、404 を返します。

2.   条件に一致したリソース数が1000を超える場合、400 を返します。このときのエラーレスポンスのBody部に、受付可能なtop数としてacceptable_top=<n>を格納します。

3.   その他エラーについては、2.3.2 節を参照ください。

 

[HIT数の取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

text/plain

Body

一致したリソース数

 

1.   Body

Ø  一致したリソース数をそのまま返却します。

Ø  リクエストのAuthorizationヘッダに格納したアクセスコードが list 権限を持たないリソースは、カウント対象としません。

ž   エラー応答時については、2.3.2節を参照ください。

 

7.3.  リソースのメタデータ更新

ž   Request

Parameters

Method

PUT

URI

JSON

蓄積

<Base URL>/v1/<Tenant ID>/<リソースパス>/_resources

転送

<Base URL>/v1/<Tenant ID>/_fwd/<リソースパス>/_resources

バイナリ

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>/_resources

Headers

2.3.1 節 および下記参照

Body

メタデータ

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

メタデータ更新対象のリソースパス

M

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

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

application/json; charset=UTF-8

固定

O

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

 

ž   Body

1.   7.1節を参照ください。

2.   対象リソースのメタデータを、更新データで全て上書きします。

Ø  更新前に設定パラメータとしてA,Bが登録されており、更新でAだけを指定した場合、Bは削除指示と判断してBを削除します。

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

200

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

7.4.  リソースの削除

 

ž   Request

Parameters

Method

DELETE

URI

JSON

蓄積

<Base URL>/v1/<Tenant ID>/<リソースパス>

転送

<Base URL>/v1/<Tenant ID>/_fwd/<リソースパス>

バイナリ

<Base URL>/v1/<Tenant ID>/_bin/<リソースパス>

Headers

2.3.1 節 参照

Body

なし

 

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節参照

M

Tenant ID

リソース所有テナントの識別子

M

リソースパス

削除対象のリソースパス

M

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

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

204

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時

1.   削除対象リソースにアクセスコードが紐付いていた場合削除できません。この場合、423を返却します。

2.   その他エラーについては 2.3.2 節を参照ください。

 


 

第8章   アクセスコード制御(REST)

 

アクセスコード制御のインターフェースを以下に示します。プロトコルは全てREST(HTTP)とします。

 

11:アクセスコード制御インターフェース一覧

種別

用途

アクセスコードの登録

アクセスコードを新規登録します。

[オプション]

なし

8.1

アクセスコード情報の参照

アクセスコードの情報を参照(検索)します。

[検索オプション]

・アクセスコード指定

・リソースパス指定(前方一致検索可)

8.2

アクセスコード情報の更新

アクセスコードの情報を更新します。

[オプション]

なし

8.3

アクセスコードの削除

アクセスコードを削除します。

[オプション]

なし

8.4

 

 

 

8.1.  アクセスコードの登録

 

ž   Request

Parameters

Method

POST

URI

<Base URL>/v1/<Tenant ID>/_access_codes/<Access Code>

Headers

2.3.1 節、及び下記を参照ください。

Body

アクセスコード情報

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

Access Code

アクセスコード

M

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

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

application/json; charset=UTF-8

固定

M

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

 

ž   Body: アクセスコード情報

次の通り、JSON形式でアクセスコード情報を登録します。

Parameters

形式

M/O(*1)

説明

最大長

access_code

M

開始タグ

 

permissions

M

権限情報

 

 

ip_filter

string

(配列)

O

サービスポータルで定義したアクセス制限(アクセスコード)設定のIPアドレス範囲情報を指定してください。未定義のIPアドレス範囲情報を設定した場合、エラーレスポンス(400)を返却します。

[“開始IPアドレス”,“終了IPアドレス”]の形式で2つのIPアドレスを指定できます。

1つのIPアドレスを設定する場合、開始IPアドレスと終了IPアドレスを同じアドレスにしてください。

・「開始IPアドレス>終了IPアドレス(IPアドレスを32bitとみなして比較した場合)」となる設定はできません。

35文字

 

 

resource_operations

(配列)

M

リソースに紐づく権限情報

 

 

 

 

resource_path

 

string

M

リソースパス

128文字

 

 

 

operations

string

(配列)

M

hierarchy_get”、“hierarchy_put”、“create”“read”、“update”、“delete”、“list”のいずれか。配列で複数指定できます。

72文字

 

certification_info

O

クライアント証明書情報

 

 

 

certification

string

M

クライアント証明書

PEM形式

-----BEGIN CERTIFICATE-----, -----END CERTIFICATE-----」を含めてください。また、改行コードは「\n」として登録してください。

10000文字

 

 

certificate_usage

string

M

クライアント証明書の利用用途。

以下を指定してください。

auth:クライアント認可で使用する。

4文字

 

protocols

string

(配列)

O

プロトコル指定情報

“http”、“https”、“mqtt”、“mqtts”のいずれか。配列で複数指定できます。

29文字

(*1) M:必須、O:オプション。各子要素のM/Oは、親要素を設定した場合の要否を表します。

 

1.   権限割り当てのないアクセスコード情報の登録はエラーとします。

Ø  すなわち、resource_operations1つ以上のresource_pathoperationsを設定する必要があります。最大1000組設定できます。

Ø  設定可能な権限設定パターンを以下の表に示します。

 

権限

パターン

create

read,

hierarchy_get(*1)

update,

hierarchy_put(*1)

delete

list

 

1

2

 

3

 

4

 

 

5

 

 

6

 

 

 

7

 

 

 

8

 

 

 

 

9

 

 

 

10

 

 

 

 

11

 

 

 

 

(*1) どちらか、または両方の権限を設定できます。

 

2.   create/delete/list/hierarchy_get/hierarchy_putは、指定したリソースパス配下全てのリソースパスへの権限として扱います。

3.   create/delete/list/hierarchy_get/hierarchy_put権を、階層の異なるパスに設定した場合、より上位パスの権限に従って動作します。

Ø  例:
リソースパス「A/B」に create,delete,list,hierarchy_get.hierarchy_put 権、
リソースパス「A/B/C」に list 権のみを設定した場合、
リソースパス「A/B/C/D」には、create,delete,list,hierarychy_get,hierarchy_putが可能

4.   certification_infoを設定する場合には、certificationcertificate_usageの両方の設定が必ず必要です。ない場合にはエラー応答(400)を返します。

5.   protocolsの設定について、以下に説明します。

パターン

動作

“protocols”のメンバなし

全てのプロトコルが指定されたものと解釈します。

protocols”のメンバは存在するが、値がない。

”protocols”:[ ]

”protocols”:[“”]

フォーマットエラーとしてエラー応答(400)します。

 

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

201

Headers

Location

<Base URL>/v1/<Tenant ID>/_access_codes/<Access Code>

Body

なし

 

ž   エラー応答時については、2.3.2節を参照ください。

 

 

 

8.2.  アクセスコードの参照

ž   Request

Parameters

Method

GET

URI

データリストの取得

<Base URL>/v1/<Tenant ID>/_access_codes/<Access Code>?<QUERY>

HIT数の取得

<Base URL>/v1/<Tenant ID>/_access_codes/<Access Code>/_count?<QUERY>

Headers

2.3.1 節 参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

QUERY

検索条件(後述)。省略時(?含む)は、条件なし(全て)として扱います。

O

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

 

ž   QUERY一覧

書式

説明

$filter=<filter条件>

<filter条件>に一致するもののみを返すよう、結果を限定します。

<filter条件>は、「プロパティ名 演算子 条件値」とし、andで複数定義可能。使用可能な演算子、プロパティ名は後述します。

$top=n

検索結果として得られるデータをn件に限定します。最大は1000件まで指定できます。

$skip=n

検索結果として得られたデータをnskipします検索結果として得られるデータの順番は、アクセスコードでソートします。

1.   /_count が指定された場合、$top$skipは無視します。($filterのみ併用可能)

 

ž   filter条件の演算子

演算子

説明

eq

等号

$filter=_resource_path eq ‘hoge’

 

ž   filter条件に利用可能なプロパティ名

プロパティ名

説明

備考

_resource_path

リソースパス

/」も含めてパーセントエンコードは不要です

 

ž   filter条件のサポート関数

Function

説明

bool startswith(string p0, string p1)

前方一致

$filter=startswith(_resource_path, ’hoge’) eq true

1.   false指定は未対応です。

2.   $filter条件直下で_resource_path eq hogeと指定されたときは完全指定となり、startswith()を利用して指定された際は前方一致指定となります。

 

ž   Response

 

[データリストの取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

application/json; charset=UTF-8

Body

一致したアクセスコード情報

 

1.   Body

Ø  次の通り、各アクセスコードの情報をJSONオブジェクトとし、JSON配列形式で複数格納します。

Ø  各アクセスコード情報は、アクセスコード(access_code)でソートします。(昇順)

Parameters

形式

説明

最大長

access_codes

(配列)

開始タグ

 

access_code

string

アクセスコード

48文字

 

permissions

権限情報

 

 

ip_filter

string

(配列)

アクセス制限定義を行う許可IPアドレスの範囲情報。[“開始IPアドレス”,“終了IPアドレス”]の形式で2つのIPアドレスを指定します。

35文字

 

 

resource_operations

(配列)

リソースに紐づく権限情報

 

 

 

 

resource_path

 

string

リソースパス

128文字

 

 

 

operations

string

(配列)

“hierarchy_get”、“hierarchy_put”“create”“read”、“update”、“delete”、“list”のいずれか。配列で複数指定できます。

72文字

 

certification_info

クライアント証明書情報

 

 

 

certification

string

クライアント証明書

PEM形式

-----BEGIN CERTIFICATE-----, -----END CERTIFICATE-----」を含みます。また、改行コードは「\n」として表示されます。

10000文字

 

 

certificate_usage

string

クライアント証明書の利用用途。

以下を指定してください。

auth:クライアント認可で使用する。

4文字

 

protocols

string

(配列)

プロトコル指定情報

“http”、“https”、“mqtt”、“mqtts”のいずれか。配列で複数指定できます。

29文字

Ø  パラメータに設定値がない場合、レスポンスにはパラメータそのものを格納しません。

Ø  リクエストのAuthorizationヘッダに格納したアクセスコードの権限を超える権限を持つアクセスコードは、レスポンスに格納しません。

Ø  アクセスコード登録時に“protocols”の指定が無かった場合には、“protocols”は通知されません。

 

ž   エラー応答時

1.   条件に一致するアクセスコード情報が存在しなかった場合、404を返します。

2.   Authorizationヘッダのアクセスコードが登録されていない場合、401を返します。

3.   条件に一致したアクセスコード情報数が1000を超える場合、400を返します。

Ø  この時、エラーレスポンスに受付可能なtop数として、acceptable_top=n Bodyに格納します。

4.   その他エラーについては、2.3.2 節を参照ください。

 

[HIT数の取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

text/plain

Body

一致したアクセスコード数

 

1.   Body

Ø  一致したアクセスコード数をそのまま返却

Ø  リクエストのAuthorizationヘッダに格納したアクセスコードの権限を超える権限を持つアクセスコードは、カウント対象としません

 

ž   エラー応答時については、2.3.2 節を参照ください。

8.3.  アクセスコードの更新

 

ž   Request

Parameters

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/_access_codes/<Access Code>

Headers

2.3.1節 および下記参照

Body

アクセスコード情報

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

Access Code

アクセスコード

M

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

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

application/json; charset=UTF-8

固定

M

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

 

ž   Body: アクセスコード情報

1.   8.1節を参照ください。

2.   対象のアクセスコード情報を、更新データで全て上書きします。

Ø  更新前に設定パラメータとしてA,Bが登録されており、更新でAだけを指定した場合、Bは削除指示と判断してBを削除します。

 

 

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

200

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については、2.3.2節を参照ください。

 

 

8.4.  アクセスコードの削除

 

ž   Request

Parameters

Method

DELETE

URI

<Base URL>/v1/<Tenant ID>/_access_codes/<Access Code>

Headers

2.3.1 節 参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

Access Code

アクセスコード

M

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

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

204

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時

1.   削除対象のアクセスコードがイベントに紐付いていた場合、アクセスコード削除不可とし、ステータスコード 423 と、紐付いてるイベントIDを返します。

2.   その他エラーについては 2.3.2 節を参照ください。

 


 

第9章   イベント制御(REST)

 

イベント制御のインターフェースを以下に示します。プロトコルは全てREST(HTTP)とします。

 

12:イベント制御インターフェース一覧

種別

用途

イベントの登録

イベントを新規登録します。

[オプション]

なし

9.1

イベント情報の参照

イベントの情報を参照(検索)します。

[検索オプション]

・イベントID指定

・リソースパス指定(前方一致検索可)

9.2

イベント情報の更新

イベントの情報を更新します。

[オプション]

なし

9.3

イベントの削除

イベントを削除します。

[オプション]

なし

9.4

 

 

 

9.1.  イベントの登録

 

ž   Request

Parameters

Method

POST

URI

<Base URL>/v1/<Tenant ID>/_events

Headers

2.3.1 節、および下記を参照ください

Body

イベント情報

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

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

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

application/json; charset=UTF-8

固定

M

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

 

ž   Body: イベント情報

次の通り、JSON形式でイベント情報を登録する。

Parameters

形式

M/O(*1)

説明

最大長

event

M

開始タグ

 

conditions

M

イベント条件

 

 

targets

M

対象

 

 

 

resource_path

string

M

対象のリソースパス

バイナリデータへの操作の場合は対象リソースパスを“_bin/”から設定してください。

128文字

 

 

 

operations

string

(配列)

M

対象のリソースデータ操作
(アクセスコードのアクセス権とは異なります。)

・通常のリソースの場合、[“create”,update”]

を指定してください。

・リソース_Binaryの場合、

“create”

を指定してください。

33文字

 

 

 

read_access_code

string

M

対象リソースパスのread権またはhierarchy_get権を持つアクセスコード

48文字

 

 

notification_condition

O

通知条件

 

 

 

start_time

日時または時刻

O(*2)

開始日時または、時刻(*3)

20文字

 

 

 

end_time

日時または時刻

O(*4)

終了日時または、時刻(*3)

20文字

 

 

 

body_conditions

O

データボディ条件

Binaryリソースに対しては設定不可

 

 

 

 

path_type

string

M

pathの形式

JSONPath”のみ指定できます

8文字

 

 

 

 

path

string

M

ボディ要素を指定するためのパス

1902文字

 

 

 

 

comparing_operator

string

M

比較演算子

“eq”(),ne”(≠),gt”(>),ge”(≧),lt”(<),le”(≦),substring_of”(部分一致)のいずれか。(*5)

12文字

 

 

 

 

value

stringまたは数値

M

比較対象の値。

文字列の場合、

1128文字

 

整数の場合、

-2,147,483,6482,147,483,647

 

実数の場合、

整数部分10桁、小数部分5

 

 

awake_condition

O

イベント抑止解除条件。

Binaryリソースに対しては設定できません。

※本設定を行うと、notification_conditionを満たしイベント通知実施後、イベント抑止状態になります。イベント抑止状態を解除するための条件をここで設定してください。

 

 

 

body_conditions

M

データボディ条件

 

 

 

 

path_type

string

M

pathの形式。

”JSONPath”のみ指定できます。

8文字

 

 

 

 

path

string

M

ボディ要素を指定するためのパス

1902文字

 

 

 

 

comparing_operator

string

M

比較演算子。

“eq”(),ne”(≠),gt”(>),ge”(≧),lt”(<),le”(≦),substring_of”(部分一致)のいずれか。(*5)

12文字

 

 

 

 

value

stringまたは数値

M

比較対象の値。

文字列の場合、

1128文字

 

整数の場合、

-2,147,483,6482,147,483,647

 

実数の場合、

整数部分10桁、小数部分5

 

notification

(*6)

M

通知内容

 

 

http

O

HTTP通知設定

 

 

 

method

string

M

GET”,POST”,PUT”,DELETE”,HEAD”,OPTIONS”,TRACE”のいずれか。

7文字

 

 

 

uri

string

M

URI

http://または“https://

256文字

 

 

 

basic_auth_id

string

O

Basic認証用のID

20文字

 

 

 

basic_auth_pass

string

O

Basic認証用のパスワード

20文字

 

 

 

header_fields

(配列)

O

HTTPヘッダ

(配列の要素は最大10)

 

 

 

 

field_name

string

M

ヘッダフィールド名。“:は含みません。

20文字

 

 

 

 

field_value

string

M

上記ヘッダフィールドに格納する値

512文字

 

 

 

body

string

O

ボディに格納する値

省略時はイベントのトリガとなったリソースデータ本体・イベントID・イベント発生日時・対象リソースパス

1024文字

 

 

smtp

O

SMTP通知設定

 

 

 

send_to

string

M

通知先Eメールアドレス

256文字

 

 

 

subject

string

O

件名

256文字

 

 

 

body

string

M

本文

140文字

(*1) M:必須、O:オプション。各子要素のM/Oは、親要素を設定した場合の要否を表します。

(*2) start_timeend_timeの片方のみを設定することはできません。また、両設定値は日時または、時刻のどちらかに揃える必要があります。

(*3) 日時指定の場合は、ISO8601に従ってください(20141225T103612Zなど)。また、精度は秒まで指定可能です。時刻指定の場合はISO8601から年月日の情報を削ったものとなります(T103612Z など)。精度は同様に秒までです。タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えてください。

(*4) start_timeend_timeの片方のみを指定することはできません。また、両設定値は日時または、時刻のどちらかに揃える必要があります。

(*5) valueが数値の場合は、eq, ne, gt, ge, lt, leが指定できます。valueが文字列の場合はeq, ne, substring_ofが指定できます。文字列の比較においては大文字小文字の区別を行います。

(*6) notification配下には、httpsmtpいずれかの設定が必要です。

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

201

Headers

Location

<Base URL>/v1/<Tenant ID>/_events/<Event ID>

Body

なし

1.   Locationには作成したイベントのURIを格納します。

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

9.2.  イベント情報の参照

 

ž   Request

Parameters

Method

GET

URI

Event ID指定による参照

<Base URL>/v1/<Tenant ID>/_events/<Event ID>

QUERYによる検索

データリストの取得

<Base URL>/v1/<Tenant ID>/_events?<QUERY>

HIT数の取得

<Base URL>/v1/<Tenant ID>/_events/_count?<QUERY>

Headers

2.3.1 節 参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

Event ID

イベントのID

・省略時(「/events」)は対象テナントの全てのイベントを対象とします。(/events/」の書き方は許容しません。)

O

QUERY

検索条件(後述)。省略時(?含む)は、条件なし(全て)として扱う。

O

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

 

ž   QUERY一覧

書式

説明

$filter=<filter条件>

<filter条件>に一致するもののみを返すよう、結果を限定します。<filter条件>は、「プロパティ名 演算子 条件値」とし、andで複数個を定義することができます。使用可能な演算子、プロパティ名は後述します。

$top=n

検索結果として得られるデータをn件に限定します。最大取得件数は1000件です。

$skip=n

検索結果として得られたデータをnskipします検索結果として得られるデータの順番はEventIDでソートされます。

1.   /_count が指定された場合$top$skipは無視されます($filterのみ併用できます)

 

ž   filter条件の演算子

演算子

説明

eq

等号

$filter=_resource_path eq ‘hoge’

 

ž   filter条件に利用可能なプロパティ名

プロパティ名

説明

備考

_resource_path

リソースパス

/」も含めてパーセントエンコード不要

 

ž   filter条件のサポート関数

Function

説明

bool startswith(string p0, string p1)

前方一致

$filter=startswith(_resource_path, ’hoge’) eq true

1.   false指定は未対応です。

2.   $filter条件直下で_resource_path eq hogeと指定されたときは完全指定となり、startswith()を利用して指定された際は前方一致指定となります。

 

ž   Response

 

[Event ID指定での参照 または データリストの取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

application/json; charset=UTF-8

Body

一致したイベント情報

 

1.   Body

Ø  次の通り、各イベントの情報をJSONオブジェクトとし、JSON配列形式で複数格納します。(太字:イベント登録時との差分)

Ø  各イベント情報はイベントID(event_id)で昇順にてソートされます。

Parameters

形式

M/O(*1)

説明

最大長

events

M

開始タグ

 

event_id

string

M

イベントID

12文字

 

conditions

M

イベント条件

 

 

targets

M

対象

 

 

 

resource_path

string

M

対象のリソースパス

128文字

 

 

 

operations

string

(配列)

M

 

対象のリソースデータ操作

JSONリソースの場合、「[“create”,update”]」 を指定してください。

Binaryリソースの場合、「“create”」を指定してください。

33文字

 

 

 

read_access_code

string

M

対象リソースパスのread権またはhierarchy_get権を持つアクセスコード

48文字

 

 

notification_condition

O

通知条件

 

 

 

start_time

日時または時刻

O

 

開始日時または、時刻

20文字

 

 

 

end_time

日時または時刻

O

 

終了日時または、時刻

20文字

 

 

 

body_conditions

O

データボディ条件

 

 

 

 

path_type

string

M

pathの形式。

JSONPath”を指定してください。

8文字

 

 

 

 

path

string

M

ボディ要素を指定するためのパス

1902文字

 

 

 

 

comparing_operator

string

M

比較演算子。

“eq”(),ne”(≠),gt”(>),ge”(≧),lt”(<),le”(≦),substring_of”(部分一致)のいずれか。

12文字

 

 

 

 

value

stringまたは数値

M

比較対象の値。

文字列の場合、

1128文字

 

整数の場合、

-2,147,483,6482,147,483,647

 

実数の場合、

整数部分10桁、小数部分5

 

 

awake_condition

O

イベント抑止解除条件

※本設定を行うと、notification_conditionを満たしイベント通知実施後、イベント抑止状態になります。イベント抑止状態を解除するための条件をここで設定します。

 

 

 

body_conditions

O

データボディ条件

 

 

 

 

path_type

string

M

pathの形式。

JSONPath”を指定してくだい。

8文字

 

 

 

 

path

string

M

ボディ要素を指定するためのパス

1902文字

 

 

 

 

comparing_operator

string

M

比較演算子。

“eq”(),ne”(≠),gt”(>),ge”(≧),lt”(<),le”(≦),substring_of”(部分一致)のいずれか。

12文字

 

 

 

 

value

stringまたは数値

M

比較対象の値。

文字列の場合、

1128文字

 

整数の場合、

-2,147,483,6482,147,483,647

 

実数の場合、

整数部分10桁、小数部分5

 

notification

M

通知内容

 

 

http

O

HTTP通知設定

 

 

 

method

string

M

“GET”,POST”,PUT”,DELETE”,HEAD”,OPTIONS”,TRACE”のいずれか。

7文字

 

 

 

uri

string

M

URI

http://または“https://

256文字

 

 

 

basic_auth_id

string

O

Basic認証用のID

20文字

 

 

 

basic_auth_pass

string

O

Basic認証用のパスワード

20文字

 

 

 

header_fields

(配列)

O

 

HTTPヘッダ

 

 

 

 

field_name

string

M

ヘッダフィールド名。“:は含みません。

20文字

 

 

 

 

field_value

string

M

上記ヘッダフィールドに格納する値

512文字

 

 

 

body

string

O

ボディに格納する値。

省略時はイベントのトリガとなったリソースデータ本体・イベントID・イベント発生日時・対象リソースパス。

1024文字

 

 

smtp

O

SMTP通知設定

 

 

 

send_to

string

M

通知先Eメールアドレス

256文字

 

 

 

subject

string

O

件名

256文字

 

 

 

body

string

M

本文

140文字

(*1) M:必須、O:オプション。各子要素のM/Oは、親要素を設定した場合の有無を表します。

 

Ø  パラメータに設定値がない場合、レスポンスにはパラメータそのものを格納しません。

Ø  リクエストのAuthorizationヘッダに格納したアクセスコードが、list権を持たないリソースに対するイベント情報は、レスポンスに格納しません。

 

ž   エラー応答時

1.   条件に一致するイベント情報が存在しなかった場合、404を返します。

2.   条件に一致したイベント数が1000を超える場合、400を返します。

Ø  この時、エラーレスポンスに受付可能なtop数として、acceptable_top=n Bodyに格納します。

3.   その他エラーについては、2.3.2 節を参照ください。

 

 

[HIT数の取得]

ž   正常応答時

 

Parameters

Status-Code

200

Headers

Content-Type

text/plain

Body

一致したリソースデータ数

 

1.   Body

Ø  一致したイベント数をそのまま返却します。

Ø  リクエストのAuthorizationヘッダに格納したアクセスコードが、list権を持たないリソースに対するイベントは、カウント対象としません。

 

ž   エラー応答時については、2.3.2 節を参照ください。

 

 

 

9.3.  イベント情報の更新

ž   Request

Parameters

Method

PUT

URI

<Base URL>/v1/<Tenant ID>/_events/<Event ID>

Headers

2.3.1節 および下記参照

Body

イベント情報

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

Event ID

イベントID

M

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

 

ž   HTTPヘッダ

Headers

補足

M/O(*1)

Content-Type

application/json; charset=UTF-8

固定

M

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

 

ž   Body: イベント情報

1.   9.1節を参照。

2.   対象のイベント情報を、更新データで全て上書きします。

Ø  更新前に設定パラメータとしてA,Bが登録されており、更新でAだけを指定した場合、Bは削除指示と判断してBを削除します。

 

 

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

200

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

9.4.  イベントの削除

ž   Request

Parameters

Method

DELETE

URI

<Base URL>/v1/<Tenant ID>/_events/<Event ID>

Headers

2.3.1 節 参照

Body

なし

       

ž   URIパラメータ

パラメータ名

説明

M/O(*1)

Base URL

2.3.1節 参照

M

Tenant ID

対象テナントの識別子

M

Event ID

イベントID

M

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

 

ž   Response

ž   正常応答時

 

Parameters

Status-Code

204

Headers

2.3.2節 参照

Body

なし

 

ž   エラー応答時については 2.3.2 節を参照ください。

 

 

 


 

第10章  外部システム呼出しリファレンス

 

 本サービスの以下の機能では、外部システムの呼出しを行います。本章では、呼出しにおける動作仕様について説明します。

ž   API呼出し(イベント機能)

ž   Email送信(イベント機能)

ž   API呼出し(リソース(転送)_JSON機能)

 

10.1. API呼び出し(イベント機能)

 

 イベントにおけるアクション内容として「API呼び出し」を選択した際に呼び出されるAPIの内容を以下に示します。

 

ž   Request

Parameters

Method

<イベントにおいて指定されたメソッド>

URI

<イベントにおいて指定されたURI

Headers

Host: <イベントにおいて指定されたURIに含まれるホスト名>

<イベントにおいて指定されたヘッダ名>:<イベントにおいて指定されたヘッダ値> (複数)

認証ID、認証パスワードをいれた場合:

Authorization: Basic <認証ID:認証パスワードをBase64エンコードした値>

Body

ボディに値を設定した場合:ボディに設定した値

ボディに値を設定しなかった場合:JSON形式で13のデータを格納

() 基本的にはHTTP/1.1仕様に沿った要求を発行しますが、お客様の設定内容やシステムの実装によりHTTP仕様を逸脱する場合があります。問題が発生した場合は弊社までご相談ください。

 

13:イベント通知データとして格納されるJSONデータ

Name

value

event_id

イベントID

date

イベント判定を行った日時(*1)

resource_path

イベントに使われたリソースパス

operation

リソースパスに対して行った制御内容

createは登録、updateは更新を意味する

body

リソースパスに対して登録または更新された際のBody

(*1) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

 

イベントIDが「123456789abc」、イベント判定を行った日時が日本時間201631000秒、

リソースパスには「Printer/1F/Printer」が指定されており、Body文に「{"temperature" : 24}」を登録した場合、イベントの送信されるBody文の例を以下に示します。

 

{

 "event_id" : "123456789abc",

"date" : "20160301T000000.000Z",

"resource_path" : "Printer/1F/Printer",

"operation" : "create",

"body " :{

 "temperature" : 24

}

}

 

ž   Response

 HTTP メッセージフォーマット形式を満たしてください。ステータスラインのみを必要とします。以下に、ステータスコードに対する処理仕様を示します。

 

ステータスコード

判断

リトライ

2xx

受付成功

しない

408, 503, 504, 509

応答未受信

受付失敗

する

上記以外

受付失敗

しない

 

10.2. Email送信(イベント機能)

 

 イベントにおいてアクション内容として「Email」を選択した際に送信されるメールの内容を以下に示します。

 

Parameters

To

イベントにおいて指定されたメールアドレス

From

eventinfo@<zone>.fujitsu.com(*1)

Return-Path

iot-system-info@ml.css.fujitsu.com

Subject

イベントにおいて指定された件名

Body

Content-Type

text/plain; charset=UTF-8

本体

イベントにおいて指定された本文

添付

Content-Type

text/plain; charset=UTF-8; name=eventinfo.txt

本体

JSON形式で 13 のデータを格納

(*1) ドメイン名の<zone>はサービス提供システムに依存します。ご契約後の通知内容に従って下さい

 

10.3. API呼出し(リソース(転送)_JSON機能)

 

 リソース(転送)_JSONを利用した際に呼び出されAPIの内容を以下に示します。

 

ž   Request

Parameters

Method

<リソース(転送)_JSONにおいて指定されたメソッド>

URI

<リソース(転送)_JSONにおいて指定されたURI

Headers

Host: <リソース(転送)_JSONにおいて指定されたURIに含まれるホスト名>

<リソース(転送)_JSONにおいて指定されたヘッダ名>:<リソース(転送)_JSONにおいて指定されたヘッダ値> (複数)

認証ID、認証パスワードをいれた場合:

Authorization: Basic <認証ID:認証パスワードをBase64エンコードした値>

Body

リソース(転送)_JSONに格納したデータ

() 基本的にはHTTP/1.1仕様に沿った要求を発行しますが、お客様の設定内容やシステムの実装によりHTTP仕様を逸脱する場合があります。問題が発生した場合は弊社までご相談ください。

 

ž   Response

 HTTP メッセージフォーマット形式を満たしてください。ステータスラインのみを必要とします。以下に、ステータスコードに対する処理仕様を示します。

 

ステータスコード

判断

リトライ

2xx

受付成功

しない

408, 503, 504, 509

応答未受信

受付失敗

する

上記以外

受付失敗

しない

 


 

第11章  システム格納データリファレンス

 

 本サービスでは、システムが自律的にリソースに格納するデータがあります。本章では、格納されるデータの形式や内容について説明します。

 

 

11.1. リコメンドリソース

 

 ダイナミックリソースコントローラーにより、ゲートウェイ装置が参照するリコメンド値をJSON形式で格納します。

 

リコメンドリソース名

サービスポータルから設定

 

Parameters

形式

M/O(*1)

説明

recommend_value

string

M

リコメンド値("ON"または"OFF"

recommend_parameter

string

M

リコメンド引数

(サービスポータルにおける分散設定において設定した引数。

但し、本サービスのシステム負荷が極めて大きい場合、"ALM"が入ります)

 

 エッジコンピューティング条件の引数が「recommend is on」である場合において、リコメンド値が「ON」に変化した際にリコメンドリソースに格納されるJSONデータ例を以下に示します。

 

{

  "recommend_value" : "ON”

"recommend_parameter" : "recommend is on"

}

 

 

11.2. 負荷リソース

 

 ダイナミックリソースコントローラーが、APIアクセスの負荷計測結果をJSON形式で格納します。

 

負荷リソース名

サービスポータルから設定

 

Parameters

形式

M/O(*1)

説明

tps

string

M

お客様テナントに対する負荷データ

(tps)[transaction/second]

bps

string

M

お客様テナントに対する負荷データ

(bps)[bit/second]

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

 

10tps10,000bpsの場合において、負荷リソースに格納されるJSONデータの例を以下に記載します。

 

{

   "tps" : "10",

  "bps" : "10000"

}

 

11.3. エラー収集用リソース

 

 エラーログ蓄積機能が、本サービス内および通信先の影響でリクエストが欠損した場合のエラー情報を格納します。該当時刻近辺の処理結果を確認し対応ください。

 

エラー収集用リソース名

_error

 

Parameters

形式

M/O(*1)

説明

collection_first_time

日時(*2)

M

エラー収集期間の開始時刻

collection_last_time

日時

M

エラー収集期間の終了時刻

errors

(配列)

M

エラー情報

 

trigger

string

M

失敗要因が設定されます。

 

resource_path

string

M

エラーが発生したリソースパス。エラー収集期間内の最も古い情報のリソースパスが設定されます。

 

data_registration_time

日時

O

リソースデータ登録時刻。失敗要因がイベントの場合のみ設定されます。

 

event_id

string

O

イベントID。失敗要因がイベントの場合のみ設定されます。

 

error_factor_message

string

M

失敗要因メッセージ。下記参照ください。

 

number_of_times

数値

M

エラー収集期間内で失敗要因と失敗要因メッセージが同一であったものの回数。

 

request_id

string

配列

O

エラー発生となった要求にて指定したx-iotpf-request-idの値が設定されます。

message

string

O

エラー情報登録失敗の場合に下記が設定されます。
・エラー発生回数過多によりreqeust_id内容が未記録:'request_id' was not able to be registered because of so many numbers.

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

(*2) ISO8601(基本表記としてのミリ秒表現を使用)に従います(20141225T103612.001Z など)。精度はミリ秒(ミリ秒を省略した場合、0ミリ秒とみなします)です。秒とミリ秒の区切りは「.]、タイムゾーン指定は「±hhmm」形式で省略時は「Z」を添えます。本サービスがレスポンスに格納する場合、UTCを用います。

 

error_factor_messageに記載される失敗要因メッセージの一覧を以下に記載します。

 

trigger

失敗要因メッセージ

説明

Transfer Resource

It failed in the transmission of forwarding data. (IoT-PF internal error)

転送失敗:システム内要因により失敗しました。

Transfer Resource

It failed in the transmission of forwarding data. (Forwarding parameter error)

転送失敗:転送設定情報の不備により失敗しました。

Transfer Resource

It failed in the transmission of forwarding data. (Connection error(HTTP))

転送失敗:通信エラー(HTTP)により失敗しました。

Transfer Resource

It failed in the transmission of forwarding data. (Connection error(TCP))

転送失敗:通信エラー(TCP)により失敗しました。

Event

Event connection failed.

イベント送信失敗:イベント送信先への接続に失敗しました。

Event

Event transmission retry over. code=408

イベント送信失敗:イベント送信が、レスポンスコード408により再送しましたが、再送回数オーバーにより失敗しました。

Event

Event transmission failed. code=404

イベント送信失敗:イベント送信が、レスポンスコード404で失敗しました。

Event

Event transmission retry over. code=503

イベント送信失敗:イベント送信が、レスポンスコード503により再送しましたが、再送回数オーバーにより失敗ました。

Event

Event transmission failed. code=500

イベント送信失敗:イベント送信が、レスポンスコード500により失敗しました。

Event

Event Send Request was rejected due to inflow regulation.

イベント送信失敗:要求過負荷によりイベント送信に失敗しました。

Event

Fail to send SMTP mail.

イベント送信失敗:システム内要因により、イベント送信(メール送信)に失敗しました。

Event

Retry out to send SMTP mail.

イベント送信失敗:メールサーバとの通信異常が発生し、イベント送信(メール送信)に失敗しました。

MQTT Broker

Failed to execute publishing resource data, in the system internal processing.

MQTTデータ格納失敗:内部処理においてデータ喪失が発生し、リソースデータの格納に失敗しました。

MQTT Parser

Failed to execute publishing resource data, in the system internal processing.

MQTTデータ格納失敗:内部処理においてデータ喪失が発生し、リソースデータの格納に失敗しました。

MQTT Parser

Failed to execute publishing resource data, in invalid data format.

MQTTデータ格納失敗:登録データ(ペイロードJSON/登録日時/リクエスト識別ID)が仕様に準じていない形式のため、データの格納に失敗しました。

MQTT Parser

Failed to execute publishing resource data, in message payload length error.

MQTTデータ格納失敗:登録データ(ペイロード長)が不正のため、データの格納に失敗しました。

 


 

付録1 Responseエラー時のメッセージ一覧

 

 ここでは、API要求がエラーとなった場合にBody文に通知される内容を説明します。エラーは以下の形式で通知されます。

 

フィールド名

errors.message

エラー文

errors.acceptable_top

レスポンスのBodyサイズが16MB以内となるtop

(エラーコードが"number of response-data is larger than 1000"または,"response size is  larger than 16MB"の場合のみ)

 

Body文の例を以下に記載します。

 

{ errors: [

   { message: response size is  larger than 16MB,

      acceptable_top: 100

    }

  ]

}

 

errors.messageに記載されるエラーのBody文内容の一覧を以下に記載します。

 

HTTPレスポンス

エラーのBody文内容

対処方針

503 Service Unavailable

{"errors":[{"message":"[CREATE] iot-pf is temporally unavailable.[11007]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[CREATE] iot-pf is temporally unavailable.[11009]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[CREATE] iot-pf is temporally unavailable.[11010]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[CREATE] iot-pf internal error.[11011]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[CREATE] iot-pf internal error.[11013]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクへまでお願い致します。

500 Internal Server Error

{"errors":[{"message":"[CREATE] iot-pf internal error.[11016]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[CREATE] iot-pf internal error.[11017]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[CREATE] iot-pf is temporally unavailable.[11022]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[CREATE] No Connection.[11027]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[SEARCH] iot-pf is temporally unavailable.[11028]"}]}

システム高負荷の場合に発生することがあります。検索範囲を絞って再実施することを推奨します。

503 Service Unavailable

{"errors":[{"message":"[SEARCH] iot-pf is temporally unavailable.[11030]"}]}

システム高負荷の場合に発生することがあります。検索範囲を絞って再実施することを推奨します。

503 Service Unavailable

{"errors":[{"message":"[SEARCH] iot-pf is temporally unavailable.[11031]"}]}

システム高負荷の場合に発生する可能性があります。検索範囲を絞って再実施することを推奨します。

500 Internal Server Error

{"errors":[{"message":"[SEARCH] iot-pf internal error.[11032]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[SEARCH] iot-pf internal error.[11034]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[SEARCH] iot-pf internal error.[11036]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[SEARCH] iot-pf internal error.[11037]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[SEARCH] iot-pf is temporally unavailable.[11039]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[SEARCH] No Connection.[11040]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[UPDATE] iot-pf is temporally unavailable.[11041]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[UPDATE] iot-pf is temporally unavailable.[11043]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[UPDATE] iot-pf is temporally unavailable.[11044]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[UPDATE] iot-pf internal error.[11045]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[UPDATE] iot-pf internal error.[11047]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[UPDATE] iot-pf internal error.[11049]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[UPDATE] iot-pf internal error.[11050]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[UPDATE] iot-pf is temporally unavailable.[11051]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[UPDATE] No Connection.[11052]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[REMOVE] iot-pf is temporally unavailable.[11053]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[REMOVE] iot-pf is temporally unavailable.[11055]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[REMOVE] iot-pf is temporally unavailable.[11056]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[REMOVE] iot-pf internal error.[11057]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[REMOVE] iot-pf internal error.[11059]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[REMOVE] iot-pf internal error.[11061]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[REMOVE] iot-pf internal error.[11062]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[REMOVE] iot-pf is temporally unavailable.[11063]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[REMOVE] No Connection.[11064]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[CREATE] iot-pf is temporally unavailable.[12003]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":"[CREATE] main data is required."}]}

 Body文に記載がありません。Body文が正しく記載されているか確認してください。

400 Bad Request

{"errors":[{"message":"[CREATE] main data is too large."}]}

 Body文が大きすぎます。データを分割するなどBody文を小さくしてください。

503 Service Unavailable

{"errors":[{"message":"[CREATE] iot-pf is temporally unavailable.[12006]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":"[CREATE] url format error."}]}

 URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[CREATE] query num invalid."}]}

URL"?"が複数存在します。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[CREATE] query too large."}]}

クエリが長すぎます。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[CREATE] url unescape error."}]}

URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[CREATE] access code is wrong."}]}

アクセスコードが誤っています。

正しいアクセスコードが記載されているか確認してください。

400 Bad Request

{"errors":[{"message":"[CREATE] x-iotpf-request-id format error."}]}

x-iotpf-request-idの内容が不正です。

400 Bad Request

{"errors":[{"message":"[SEARCH] url format error."}]}

URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[SEARCH] query num invalid."}]}

URL"?"が複数存在します。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[SEARCH] query too large."}]}

クエリが長すぎます。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[SEARCH] url unescape error."}]}

URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[SEARCH] access code is wrong."}]}

アクセスコードが誤っています。

正しいアクセスコードが記載されているか確認してください。

503 Service Unavailable

{"errors":[{"message":"iot-pf is temporally unavailable.[12026]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":"[UPDATE] main data is required."}]}

Body文に記載がありません。Body文が正しく記載されているか確認してください。

400 Bad Request

{"errors":[{"message":"[UPDATE] main data is too large."}]}

Body文が大きすぎます。データを分割するなどBody文を小さくしてください。

503 Service Unavailable

{"errors":[{"message":"iot-pf is temporally unavailable.[12029]"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":"[UPDATE] url format error."}]}

URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[UPDATE] query num invalid."}]}

URL"?"が複数存在します。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[UPDATE] query too large."}]}

クエリが長すぎます。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[UPDATE] url unescape error."}]}

URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[UPDATE] access code is wrong."}]}

アクセスコードが誤っています。

正しいアクセスコードが記載されているか確認してください。

400 Bad Request

{"errors":[{"message":"[UPDATE] x-iotpf-request-id format error."}]}

x-iotpf-request-idの内容が不正です。

400 Bad Request

{"errors":[{"message":"[REMOVE] url format error."}]}

URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[REMOVE] query num invalid."}]}

URL"?"が複数存在します。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[REMOVE] query too large."}]}

クエリが長すぎます。クエリを見なおしてください。

400 Bad Request

{"errors":[{"message":"[REMOVE] url unescape error."}]}

URLの指定が誤っています。URLを見なおしてください。

400 Bad Request

{"errors":[{"message":"[REMOVE] query must not be exists. for present"}]}

最新削除(_present)にも関わらず、クエリが指定されています。クエリを除いて実行してください。

400 Bad Request

{"errors":[{"message":"[REMOVE] query is required. for past."}]}

過去のデータの削除(_past)にも関わらず、クエリが指定されていません。クエリを指定してください。

400 Bad Request

{"errors":[{"message":"[REMOVE] access code is wrong."}]}

アクセスコードが誤っています。

正しいアクセスコードが記載されているか確認してください。

400 Bad Request

{"errors":[{"message":"[REMOVE] x-iotpf-request-id format error."}]}

x-iotpf-request-idの内容が不正です。

429 Too Many Requests

{"errors":[{"message":"Number of request per second has exceeded maximum usage limit of service contract."}]}

アクセス頻度がシステム許容値を越えています。アクセス頻度を見直してください。

400 Bad Request

{"errors":[{"message":"fail to get decompressed data size."}]}

指定された圧縮形式の情報が異常です。

400 Bad Request

{"errors":[{"message":" decompressed data is too large."}]}

伸長後のデータ長が大きすぎます。

423 Locked

{"errors":[{"message":" request access code has event. "}]}

対象アクセスコードに紐づいたイベントが存在しています。

イベントの紐付けを解除してください。

423 Locked

{"errors":[{"message":" request access code can't read event."}]}

対象アクセスコードに紐付いたイベントが存在しているため、read権を削除できません。

423 Locked

{"errors":[{"message":" request access code has dispersion policy."}]}

対象アクセスコードに紐付いた分散ポリシーが存在しています。

分散ポリシーの紐付けを解除してください。

423 Locked

{"errors":[{"message":" request access code has recommend resource."}]}

対象アクセスコードに紐付いたリコメンドリソースが存在しています。

リコメンドリソースの紐付けを解除してください。

423 Locked

{"errors":[{"message":" request access code can't update dispersion policy."}]}

対象アクセスコードに紐付いた分散ポリシーが存在しているため、update件を削除できません。

423 Locked

{"errors":[{"message":" request access code can't update recommend resource."}]}

対象アクセスコードに紐付いたリコメンドリソースが存在しているため、update件を削除できません。

423 Locked

{"errors":[{"message":" request access code and resource have event."}]}

対象アクセスコードとリソースに紐付いたイベントが存在しています。

イベントの紐付けを解除してください。

503 Service Unavailable

{"errors":[{"message":" iot-pf Service Unavailable."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":" iot-pf internal error."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

404 Not Found

{"errors":[{"message":" Reload configuration to fail to read config."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":" tenant id is required. "}]}

テナントIDが指定されていません。

400 Bad Request

{"errors":[{"message":" access code is requred. "}]}

アクセスコードが指定されていません。

400 Bad Request

{"errors":[{"message":" input parameter error. : resource_path is duplicated. (resourcepath=[リソースパス])"}]}

リソースパスの重複があります。

400 Bad Request

{"errors":[{"message":" parameter duplication. "}]}

パラメータに重複があります。

400 Bad Request

{"errors":[{"message":" request access code already exists. "}]}

指定されたアクセスコードがすでに存在しています。

400 Bad Request

{"errors":[{"message":" request resource path does not exist. : ResourcePath= [リソースパス]"}]}

指定されたリソースパスは存在しません。

404 Not Found

{"errors":[{"message":" resource path not found. "}]}

対象のリソースIDが登録されていません。

404 Not Found

{"errors":[{"message":" access code not found. "}]}

検索条件に一致するアクセスコードがみつかりませんでした。

404 Not Found

{"errors":[{"message":" event not found. "}]}

検索条件に一致するイベントがみつかりませんでした。

404 Not Found

{"errors":[{"message":" target resource not found. "}]}

対象リソースが見つかりません。

404 Not Found

{"errors":[{"message":" tenant ID not found. "}]}

該当するテナントIDが見つかりません。

400 Bad Request

{"errors":[{"message":" event id is required. "}]}

イベントIDが指定されていません。

400 Bad Request

{"errors":[{"message":" URL FORMAT ERROR"}]}

正しいリクエストURLではありません。

400 Bad Request

{"errors":[{"message":" Incorrect access code search conditions. "}]}

アクセスコード検索条件に誤りがあります。

400 Bad Request

{"errors":[{"message":" Incorrect event code search conditions. "}]}

イベント検索条件に誤りがあります。

400 Bad Request

{"errors":[{"message":" Incorrect filter condition. "}]}

filter条件に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter is error. : incorrect top condition "}]}

top条件に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter is error. : incorrect skip condition "}]}

skip条件に誤りがあります。

400 Bad Request

{"errors":[{"message":" Request data format error. "}]}

リクエストデータの内容に誤りがあります。

400 Bad Request

{"errors":[{"message":" Number of resource path is over for one request.  (resourcePathSize=[リソースパス個数])"}]}

1リクエストで登録可能なリソースパスの制限を超えています。 

400 Bad Request

{"errors":[{"message":" input parameter error is required. : permissions"}]}

アクセスコード権限情報が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : resource_path and operations in resource_operations"}]}

リソース権限の情報が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : resource_path of resource_operations"}]}

リソース権限のリソースパスが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : operations of resource_operations"}]}

リソース権限のアクセス権が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : conditions"}]}

イベント条件が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : targets"}]}

イベント対象が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : resource_path of targets"}]}

イベント対象のリソースパスが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : operations of targets"}]}

対象のリソースデータ操作が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : read_access_code of targets"}]}

対象リソースパスのread権をもつアクセスコードが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : path_type of notification_condition"}]}

通知条件のpath形式が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : path of notification_condition"}]}

通知条件のボディ要素を指定するリソースパスが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : comparing_operator of notification_condition"}]}

通知条件の比較演算子が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : value of notification_condition"}]}

通知条件の比較対象の値が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : path_type of awake_condition"}]}

抑止条件のpath形式が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : path of awake_condition"}]}

抑止条件のボディ要素を指定するリソースパスが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : comparing_operator of awake_condition"}]}

抑止条件の比較演算子が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : value of awake_condition"}]}

抑止条件の比較対象の値が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : notification smtp or http"}]}

通知内容の指定が不足します。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : send_to of smtp notification"}]}

通知内容の通知先eメールアドレスが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : body of smtp notification"}]}

通知内容の通知eメールの本文が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : method of http notification"}]}

通知内容のHTTP Methodが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : uri of http notification"}]}

通知内容のURIが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : field_name and field_value of http notification"}]}

通知内容のヘッダフィールドが不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : filed_name of http notification"}]}

通知内容のヘッダフィールド名が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : filed_value of http notification"}]}

通知内容のヘッダフィールドの値が不足しています。

400 Bad Request

{"errors":[{"message":" input parameter error is required. : notification"}]}

通知内容が不足しています。

403 Forbidden

{"errors":[{"message":" Authorization accesscode is required."}]}

アクセスコードが指定されていません。

401 Unauthorized

{"errors":[{"message":" Authorization  error. (AccessCode=[アクセスコード], NG_ResoucePath=[リソースパス])"}]}

指定されたアクセスコードで権限のないリソースが含まれています。

401 Unauthorized

{"errors":[{"message":" Client authorization  error. (AccessCode=[アクセスコード])"}]}

アクセスコードで認可されていないクライアントからのアクセスです。

401 Unauthorized

{"errors":[{"message":" Protocol authorization  error. (AccessCode=[アクセスコード])"}]}

アクセスコードで認可されていないプロトコルでのアクセスです。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect access code operations"}]}

アクセスコードのアクセス権の組合せが不正です。

400 Bad Request

{"errors":[{"message":" request ipfilter does not exist. (tenanatId=[テナントID], startIpAddr=[IPアドレス], endIpAddr=[IPアドレス])"}]}

指定されたアクセス制限設定がありません。

400 Bad Request

{"errors":[{"message":" hit data is larger than limit. (acceptable_top=1000)"}]}

検索されたデータが1000件を超えています。

403 Forbidden

{"errors":[{"message":" Authorization accesscode format error."}]}

アクセスコードの形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" Fail to url decode(utf-8)."}]}

不正な文字コードのデータが含まれています。

400 Bad Request

{"errors":[{"message":" URL format error. : Url Path is required."}]}

URLパスが必要です。

400 Bad Request

{"errors":[{"message":" URL format error. : Incorrect protocol"}]}

不正なプロトコルが指定されています。

400 Bad Request

{"errors":[{"message":" URL format error. : incorrect url path"}]}

URLパスが不正です。

400 Bad Request

{"errors":[{"message":" URL format error. :  incorrect url path start"}]}

URLパスが不正な文字で始まっています。

400 Bad Request

{"errors":[{"message":" URL format error. : tenant id format error."}]}

テナントIDの形式が正しくありません。

400 Bad Request

{"errors":[{"message":" URL format error. : input _access_codes or _events."}]}

URLの指定が正しくありません。

400 Bad Request

{"errors":[{"message":" URL format error. : unnecessary query is input"}]}

不要なクエリが指定されています。

400 Bad Reqeust

{"errors":[{"message":" URL format error. : access code format error."}]}

アクセスコードの形式が正しくありません。

400 Bad Request

{"errors":[{"message":" URL format error. : input _counts."}]}

HIT数の取得のURL指定が正しくありません。

400 Bad Request

{"errors":[{"message":" URL format error. : event id format error."}]}

イベントIDの形式が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect access code name's string length"}]}

アクセスコード名の長さが正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect access code discription's string length"}]}

アクセスコードの説明の長さが正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : number of ipfilter is larger than 5."}]}

5個以上のアクセス制限が指定されています。

400 Bad Request

{"errors":[{"message":" input parameter error. : start ipaddress format error"}]}

アクセス制限のIPアドレスの形式が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : end ipaddress format error"}]}

アクセス制限のIPアドレスの形式が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : ipfilter format error."}]}

アクセス制限の指定形式が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect ipfilter range"}]}

アクセス制限の指定形式が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : operations format error. (NG Operation kind=[アクセス権])"}]}

アクセス権の指定形式が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : operation is duplicated."}]}

同じアクセス権が重複して指定されています。

400 Bad Request

{"errors":[{"message":" input parameter error. : resource path format error."}]}

リソースパスの指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. :  incorrect event name's string length"}]}

イベント名の文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error.  :event description's string length"}]}

イベントの説明文の文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : event target operations format eror."}]}

リソース操作の指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : inccorect notification_condition's start_time or end_time (start_time=[日時], end_time=[日時])"}]}

イベント判定日時の指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : cannot be set to body conditions to binary resource."}]}

リソース_Binaryに対してイベント条件が指定されています。

400 Bad Request

{"errors":[{"message":" input parameter error. : access code format error."}]}

アクセスコードの指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect path_type of notification condition"}]}

通知条件のpath_typeの指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect path_type's string length of notification condition"}]}

通知条件のpath_typeの文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : comparing_operator of notification condition (comparing_operator=[比較条件])"}]}

通知条件の比較条件の指定形式に誤りがあります。

400 Bad Reuqest

{"errors":[{"message":" input parameter error. : comparing operator format error  (comparing_operator=[比較演算子])"}]}

通知条件の比較条件の比較演算子に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect path_type of awake condition"}]}

抑止条件の指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect path's string length of awake condition"}]}

抑止条件のpathの指定文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : comparing_operator of awake condition  (comparing_operator=[比較条件])"}]}

抑止条件の比較条件の指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect comparing operator of awake condition (comparing_operator=[比較演算子])"}]}

抑止条件の比較条件の比較演算子に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorret  send_to's length of smtp notification"}]}

通知内容の連絡先Eメールアドレスの形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorret body's length of smtp notification"}]}

通知内容のEメール本文の形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorret subject's length of smtp notification"}]}

通知内容のEメール件名の形式に誤りがあります。

400 Bad Reuqest

{"errors":[{"message":" input parameter error. : incorrect method of http notification"}]}

通知内容のHTTPメソッドの指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect uri's length of http notification"}]}

通知内容のURL指定形式の文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : number of header fields is larger than 10"}]}

通知内容のヘッダフィールドが11個以上指定されています。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect field_name's length of http notification"}]}

通知内容のヘッダフィールドの指定形式の文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect field_value's length of http notification"}]}

通知内容のヘッダフィールドの指定形式の文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect basic_auth_id's length of http notification"}]}

通知内容のHTTPベーシック認証IDの文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect basic_auth_pass's length of http notification"}]}

通知内容のHTTPベーシック認証パスワードの文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : certification info format error."}]}

証明書の指定形式に誤りがあります。

400 Bad Reuqest

{"errors":[{"message":" input parameter error. :protocols format error."}]}

プロトコルの指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : certification file is too large. Size=[サイズ]"}]}

証明書のサイズがシステム許容値を越えています。

400 Bad Request

{"errors":[{"message":" input parameter error. : certification format error.([証明書形式文字列] is required)"}]}

証明書の形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : protocols is duplicated."}]}

プロトコルの指定に重複があります。

500 Internal Server Error

{"errors":[{"message":" certification file parse error.([エラー番号])"}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[12401] transfer resource is temporarily unavailable"}]}

転送リソースが一時的に利用できません。しばらく待ってから再度ご利用ください。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect body's length of http notification"}]}

通知内容のボディ長が正しくありません。

403 Forbidden

{"errors":[{"message":" Ip filter NG. (tenantId=[テナントID], accessCode=[アクセスコード], srcIp=[要求元IPアドレス])"}]}

アクセス制限設定により、アクセスを拒否しています。

400 Bad Request

{"errors":[{"message":" request http header error. (Header:[ヘッダ内容])"}]}

HTTPヘッダ内容に誤りがあります。

401 Unauthorized

{"errors":[{"message":" Authorization  error. (AccessCode=[アクセスコード])"}]}

アクセスコードに誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : uri of http notification format error."}]}

通知内容のHTTP Methodの指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" input parameter error. : field_name length of http notification format error."}]}

通知内容のHTTP Methodの指定文字列長が正しくありません。

400 Bad Request

{"errors":[{"message":" input parameter error. : incorrect body_conditions of awake condition"}]}

抑止条件のbody_conditionsの指定形式に誤りがあります。

400 Bad Request

{"errors":[{"message":" URL format error. : access code is necessary."}]}

URLにアクセスコードが指定されていません。

400 Bad Request

{"errors":[{"message":"[12990] Illigal put data."}]}

パラメータ指定に誤りがあります。

500 Internal Server Error

{"errors":[{"message":"[11901] Fail to loadCollection."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[12992] Abnormality occurred by PUT processing."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11903] Fail to create CommonData."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11904] Fail to get socket(PUT)."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11905] Fail to send PreProcess(PUT)."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":"[12980] Illigal delete data."}]}

パラメータ指定に誤りがあります。

500 Internal Server Error

{"errors":[{"message":"[11911] Fail to loadCollection."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[12912] Abnormality occurred by DELETE processing."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11913] Fail to create CommonData."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11914] Fail to get socket(DELETE)."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11915] Fail to send PreProcess(DELETE)."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":"[12920] Illigal get data."}]}

パラメータ指定に誤りがあります。

500 Internal Server Error

{"errors":[{"message":"[11921] Fail to loadCollection."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[12922] Abnormality occurred by GET processing."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11923] Fail to create CommonData."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11924] Fail to get socket(GET)."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11925] Fail to send PreProcess(GET)."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11935] Fail to send PreProcess."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

408 Request Timeout

{"errors":[{"message":"[11936] REST- Connection Error."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[11937] Service Unavailable.."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

500 Internal Server Error

{"errors":[{"message":"[11938]Internal Server Error."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

503 Service Unavailable

{"errors":[{"message":"[12900] Before start service(for initialization)."}]}

システム初期化処理中です。しばらく待ってから再度ご利用ください。

429 Too Many Requests

{"errors":[{"message":"[12906]Number of request per second has exceeded maximum usage limit of service contract."}]}

アクセス頻度がシステム許容値を越えています。アクセス頻度を見直してください。

503 Service Unavailable

{"errors":[{"message":"[11937] Service Unavailable.."}]}

予期せぬ内部異常を検出しました。エラーメッセージをヘルプデスクまでご連絡願います。

400 Bad Request

{"errors":[{"message":"number of response-data is larger than 1000","acceptable_top": [top値指定可能数]}]}

取得データ件数が、1,001以上となる(topオプションなし)参照リクエストです。
acceptable_top
の値に従いtop数を指定し直してください。

400 Bad Request

{"errors":[{"message":"response size is  larger than 16MB","acceptable_top": [top値指定可能数]}]}

取得データ量が、16MBより大となる参照リクエストです。
acceptable_top
の値に従いtop数を指定し直してください。

503 Service Unavailable

{"errors":[{"message":"number of concurrent request for heavy queries exceeded the maximum usage limit."}]}

処理負荷の高いクエリが多数同時に要求されています。同時要求数を減らしてください。