empress m2m · 2.empress m2m レプリケーションの機能 中継器内の....

37
Page: 1 Empress M2M レプリケーション マニュアル Version 1.00 株式会社 EMPRESS SOFTWARE JAPAN

Upload: others

Post on 29-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 1

Empress M2M

レプリケーション

マニュアル

Version 1.00

株式会社 EMPRESS SOFTWARE JAPAN

Page 2: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 2

内容 Empress M2Mレプリケーション 3

1.Empress M2Mレプリケーションの説明 3

2.Empress M2Mレプリケーションの機能 3

3.Empress M2Mレプリケーションの特長 4

4.Empress M2Mレプリケーションの構成図 5

4.Empress M2Mレプリケーションの導入 6

5.Empress M2Mレプリケーションの API 10

外部関数一覧 10

外部関数仕様 13

Page 3: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 3

Empress M2M レプリケーション

1.Empress M2M レプリケーションの説明 Empressのレプリケーションは Empressのテーブル同士用のレプリケーションである「Empressレ

プリケーション」と Empressのテーブルと他社製のデータベースのテーブル用のレプリケーションで

ある「M2Mレプリケーション」と 2種類あります。Empressレプリケーションは Empress暗号化組

込みデータベースのエンジンにより実装されていますので詳細は Empress組込みデータベースのマニ

ュアルを参照してください。Empress M2M レプリケーションの実装は中機器のアーキテクチャー、連

携先のデータベースがオンプレミスかクラウドに設置されるのかなどにより実装方法は異なります。例

えば X86のアーキテクチャーでオンプレミスのデータベースにデータ連携される場合、中継器に連携す

るデータベース用の ODBCクライアントをインストールしデータ連携します。これに対して、X86の

アーキテクチャー以外やクラウドの場合などは REST APIを使用します。本書では主に REST APIを用

いた Empress M2M レプリケーションについて解説します。

2.Empress M2M レプリケーションの機能 中継器内の Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

ータベースに人の手を介さずに M2M(Machine To Machine)でレプリケーションするソリューション

です。中継器内の Empress暗号化組込みデータベースとオンプレミスやクラウド上のデータベースの

データ連携はアトミック性を保ったままでトランザクション処理されますのでデータの重複、欠損はな

くデータの整合性を保証します。Empress M2M レプリケーションの動作は設定ファイルにより動作が

制御されます。

Page 4: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 4

3.Empress M2M レプリケーションの特長 Empress M2M レプリケーションの特長は以下の通りです。

1.Empress M2M レプリケーションは高速です。

2.ANSI SQL92、ODBC、JDBCサポートします。

3.断電、断線に強いレプリケーション機能を提供します。

4.M:Nの(複数Master、複数 Slave)レプリケーションをサポートします。

5.サブセットレプリケーションをサポート(テーブル単位、Where文単位)

6.暗号化データベースと SSL通信により、すべてのデータと通信を暗号化することが可能です。

7.オンプレミス、クラウドの Oracle、Empress、SQL Server、MySQL、PostgreSQLなどのデータ

ベースに対応しています。

8.オンプレミス、クラウドの業務システム(ERP、CRM、SCMなど)に対応しています。

Page 5: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 5

4.Empress M2M レプリケーションの構成図 センサのようにローリソースで Empress組込みデータベースを搭載できない機器は中継器内の Data

Collect APIを使用し、中継器の Empress暗号組込みデータベースにデータ登録後、M2Mレプリケー

ションで連携先のデータベースにレプリケーションします。FA機器のように Empress組込みデータベ

ースを搭載できる場合は、デバイスに保全されたデータを中継器まで Empressレプリケーションを用

いて Empress暗号組込みデータベースにデータ登録し、データ登録後、M2Mレプリケーションで連携

先のデータベースにレプリケーションします。

Page 6: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 6

4.Empress M2M レプリケーションの導入 Linuxにインストールする手順は以下の通りです。

インストール sudo cp lib/*.so /usr/local/lib

sudo ldconfig

Makefile の編集 restrepl: REST_API.o

$(CC) -o bin/restrepl REST_API.o $(LIB_PATH) $(LIBS) $(M2MLIBS) $(EMPLIBS)

$(EMPODBCLIBS)

rm REST_API.o

clean:

rm -f *.o bin/restrepl

/ect/odbcinst.ini ファイルの修正

/ect/odbcinst.ini ファイルを下記のように修正します。

[Empress Driver 10.20 (UTF8)]

Driver=/home/atmark/Empress/v10.20/installation/shlib/libempodbcbcs.so

/delivery/m2m_app/run/env.shを catし Driverの名称が/ect/odbcinst.iniファイルの Driverと同

じ名称であることを確認してください。

Page 7: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 7

odbcinst.iniファイルを編集後に env.shを実行します。

Parameter.txt ファイルの修正 インストールされたディレクトリ(例えばm2mrest_demo)内に Restrepl、Parameter.txt、

replication_sample.xml、CreateConfigDB.sh、configdbにデプロイされていることを確認したうえ

で下記のように Parameter.txtを編集してください。

設定項目 設定値

EMP_BIN_PATH $EMPRESSPATH

EMP_LICENSE_PATH $EMPRESSPATH”/config”

EMP_LICENSE_USR empcnsv ユーザ

EMP_LICENSE_PW Empcnsvパスワード

EMP_SERVER_URL REST Server URL rest server url

USER_NAME REST Server user account rest serverのログイン名

USER_PW REST Server user password rest serverのパスワード

SERVICE_TOKEN REST Server project token rest serverのプロジェクトのトークン名

WAIT_TIME rest push allの実行間隔の単位は秒です。

CreateConfigDB.sh の編集

パスを以下の通りに修正します。

<full_path>configdb 例: <full_path>/m2m_app/ configdb

<full_path> RepConfigDB.sql 例:<full_path>/m2m_app/sql

/RepConfigDB.sql

Page 8: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 8

replication_sample.xml の編集

replication_sample.xmlは M2M Replication containerの RESTの操作のための設定ファイルです。

IDM2M_Server remote server

IDM2M_ServerUserName empress データベースのユーザ名

IDM2M_ServerUserPWD empress データベースのパスワード

IDM2M_ContainerName container 任意の Container名を設定出来ますが、

Container名は重複できません。

IDM2M_RemoteTableName/IDM2M_LocalTa

bleName

IDM2M_RepDirection 0(0 は pushを意味します)

src/REST_API.c の修正

パスを以下の通り修正します。

#include "include/idm2mlib.h"

#include "include/idm2m_restc.h"

#define PARAMETER "Parameter.txt" // "Parameter.txt" へのパスです。

プログラムの実行

以下の手順で Empress M2M レプリケーションを実行します。 . env.sh

/*env.shを実行します*/

./restrepl BUILD

/* restrepl をビルドし、CreateConfigDB.sh が実行され configDB が作成されます。configDB がすでに存在する場合は作り直されます。*/

./restrepl IMPT

/* replication_sample.xml 内に記載されている設定情報が configDB に登録されます。*/

./restrepl PUSH BIND

Page 9: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 9

/*始めて実行する場合は./restrepl PUSH BIND を実行します。2回目以降は./restrepl PUSH を実行します。*/

Page 10: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 10

5.Empress M2M レプリケーションの API

外部関数一覧

M2M REST Clientライブラリが提供する関数です。

param int IDM2M_RESTC_SUCCESS = 0

ユーザリクエストが成功、もしくは関数実行が成功場合のリターン値 int IDM2M_RESTC_FAIL = -1 ユーザリクエストが失敗、もしくは関数実行が失敗場合のリターン値 int IDM2M_RESTC_REQUEST_CHANGEPWD = 2 ユーザリクエストが成功、パスワード変更必要場合のリターン値 int IDM2M_RESTC_REQUEST_USER_LOCKED = -2 ユーザリクエストが成功、アカウントロックした場合のリターン値 int IDM2M_RESTC_REQUEST_TIMEOUT = -10 ユーザリクエストがタイムアウト場合のリターン値 int IDM2M_RESTC_PUSH_REQUESTSIZE_OVERFLOW = -20 ユーザリクエストが設定値を越えた場合のリターン値 int IDM2M_RESTC_CLEAN_NO = 0 ローカルデータをクリーンしない場合のリターン値 int IDM2M_RESTC_CLEAN_YES = 1 ローカルデータをクリーンする場合のリターン値 int IDM2M_RESTC_OPERATION_SUCCESS = 0; ユーザ操作が成功場合リターン値 int IDM2M_RESTC_OPERATION_FAIL = -1; ユーザ操作が失敗場合リターン値 int IDM2M_RESTC_OPERATION_EXECUTING = 1; ユーザ操作が実行中場合リターン値、少々待ってもう一度確認してください。 int IDM2M_RESTC_OPERATION_UNKNOWN = -2; ユーザ操作が存在していない場合リターン値 int IDM2M_RESTC_OPERATION_UNRECOGNIZED = -9 ユーザ操作が不明場合リターン値 char* IDM2M_RESTC_SERVERURL RESTAPI のサーバアドレスです、内部用引数です、ユーザが自由な設定できないに実装します。 char* IDM2M_RESTC_JSESSIONID サーバでログイン状態を維持するため、使用の SessionID です、内部用引数です、ユーザが触れないに実装します。

M2M RESTC 共有 API

IDM2M_RESTC_init M2M RESTC 初期化

Page 11: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 11

IDM2M_RESTC_end M2M RESTC 終了 IDM2M_RESTC_skip_verfiypeer https 接続用、接続側で証明書検証をしない IDM2M_RESTC_init_maxJsonLength M2M RESTC 初期化、最大 JSON 長を設定

エラー関連関数 IDM2M_RESTC_getError エラーメッセージを取得します

M2M RESTC 認証用 API

IDM2M_RESTC_setUserInformation ユーザ情報を設定します IDM2M_RESTC_setToken プロジェクトトークンを設定します IDM2M_RESTC_bindDevice デバイスを登録します IDM2M_RESTC_login ユーザログイン IDM2M_RESTC_logout ユーザログアウト

IDM2M_RESTC_getEmpLicenseKey ログイン成功したら、Empress のライセンスキーを取得します。 IDM2M_RESTC_getEncryptionKey ログイン成功したら、サーバ側で発行の EmpressDB 暗号化キーを取得します。 IDM2M_RESTC_getCleanupStatus ローカルすべてデータをクリーンするの状態を確認します。 IDM2M_RESTC_updatePassword ユーザパスワードを更新します。 IDM2M_RESTC_getOperatingID ログイン成功したら、サーバ側で発行の操作 ID(唯一 ID です)を取得します。毎回実行されば、新しい操作 ID を発行します。 IDM2M_RESTC_validateOperatingID ログイン成功したら、操作結果を確認します。 optoken を使用しての関数を使用する場合のみ有効です。

M2M RESTC レプリケーション用 API

IDM2M_RESTC_REPL_getServerTimestamp サーバの現在 GMT 時間を取得します。 IDM2M_RESTC_REPL_pullUpdatedData サーバから差分データを取得します。 IDM2M_RESTC_REPL_pushUpdatedData ローカルの差分データをサーバに送りて同期 IDM2M_RESTC_REPL_getContainerInfo サーバから Container 情報を取得します。(まだ実装していません)

Page 12: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 12

IDM2M_RESTC_REPL_uploadConfigToServer サーバにレプリケーション情報を一括登録します。(まだ実装していません) IDM2M_RESTC_REPL_cleanConfigFromServer サーバのレプリケーション情報を全部クリーンします。(まだ実装していません)

M2M RESTC RDBC 用 API

IDM2M_RESTC_RDBC_execQuery サーバの DB でクエリーを実行します。 IDM2M_RESTC_RDBC_batchUpload サーバの DB で SQL バッチを実行します。

ファームウェア用API

IDM2M_RESTC_getFirmwareVersion サーバからファームウェアのバージョン番号を取得します。(まだ実装していません) IDM2M_RESTC_downloadFirmware サーバからファームウェアをダウンロードします。(まだ実装していません)

ファイル管理用API

IDM2M_RESTC_FILE_getFolderInfo サーバからフォルダツリーを取得します IDM2M_RESTC_FILE_createFolder サーバからフォルダを作成します IDM2M_RESTC_FILE_deleteFolder サーバからフォルダを削除します IDM2M_RESTC_FILE_upload サーバからファイルをアップロードします IDM2M_RESTC_FILE_download サーバからファイルをダウンロードします IDM2M_RESTC_FILE_deleteFile サーバからファイルを削除します IDM2M_RESTC_FILE_getFileLines サーバからファイルの行データを取得します

IoTHub クライアント用 API

IDM2M_RESTC_IoTHub_getConnectionInfo IoTHub に関する接続情報を取得する IDM2M_RESTC_IoTHub_registerDevice IoTHub に関するデバイス情報を登録します IDM2M_RESTC_IoTHub_editDeviceIp IoTHub に関するデバイス IP を修正する IDM2M_RESTC_IoTHub_getDeviceInfo IoTHub に関するデバイス情報を取得する

デバイス死活監視用 API

IDM2M_RESTC_devmonitor_updateStatus デバイスの状態を更新する IDM2M_RESTC_devmonitor_getInstruction サーバから指示を確認する IDM2M_RESTC_devmonitor_getCheckInterval デバイスの監視時間間隔を取得する

Page 13: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 13

ファームウェア更新用 API

IDM2M_RESTC_firmware_getList ファームウェア一覧を取得 IDM2M_RESTC_firmware_getLastVersion 指定ファームウェアの最新のバージョン情報を取得 IDM2M_RESTC_firmware_getFmwFiles 指定ファームウェアのファイル情報を取得 IDM2M_RESTC_firmware_downloadFileByName ファームウェアの指定ファイル(by name)をダウンロード IDM2M_RESTC_firmware_downloadFileByFileId ファームウェアの指定ファイル(by file if)をダウンロード IDM2M_RESTC_firmware_downloadFileByUniqueId ファームウェアの指定ファイル(by unique id)をダウンロード IDM2M_RESTC_firmware_downloadFileCheck_md5 ダウンロードしたファイルのMD5ハッシュ値チェック IDM2M_RESTC_firmware_sendDownloadResult ファームウェアファイルのダウンロード結果をサーバに報告

外部関数仕様

M2M RESTC 共有関数

HIDM2M_RESTC IDM2M_RESTC_init (

char* serverUrl,

int requestTimeout)

機 能 M2M RESTC初期化します

引 数 serverUrl:サーバのアドレス

requestTimeout:タイムアウト時間(単位:秒)

戻 り 値 M2M RESTCハンドル

異常の場合には、NULL

異 常

備 考

注意事項

関連関数

int IDM2M_RESTC_end(HIDM2M_RESTC hIDM2M_RESTC) 機 能 M2M RESTC 終了します

Page 14: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 14

引 数 hIDM2M_RESTC:M2M RESTC ハンドル 戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗 異 常 備 考 M2M RESTC ハンドルが解放されます 注意事項 関連関数

HIDM2M_RESTC IDM2M_RESTC_skip_verfiypeer(HIDM2M_RESTC hIDM2M_RESTC) 機 能 https 接続用、接続側で証明書検証をしない 引 数 hIDM2M_RESTC:M2M RESTC ハンドル 戻 り 値 M2M RESTC ハンドル 異 常 備 考 注意事項 関連関数

HIDM2M_RESTC IDM2M_RESTC_init_maxJsonLength (

char* serverUrl,

unsigned int maxJsonLength,

int requestTimeout)

機 能 M2M RESTC初期化、最大 JSON長を設定。

引 数 serverUrl:サーバーのアドレス

maxJsonLength:最大 JSON長

requestTimeout:タイムアウト時間(単位:秒)

戻 り 値 M2M RESTCハンドル

異常の場合には、NULL

異 常

備 考

注意事項

関連関数

Page 15: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 15

M2M RESTC エラー関数

const char* IDM2M_RESTC_getError(HIDM2M_RESTC hIDM2M_RESTC)

機 能 エラーメッセージを取得します

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 エラーメッセージ

異 常

備 考 エラーなしの場合は、Nullを戻ります。

注意事項 1.すべて関数実行失敗されば、この関数をコールして、エラーメッセージを取得でき

ます

2.この関数は最後実行した関数のエラーメッセージしか返しません

3.関数成功されば、エラーメッセージは NULLです

関連関数

M2M RESTC 認証関数

int IDM2M_RESTC_setUserInformation (HIDM2M_RESTC hIDM2M_RESTC,

char* userName,

char* userPassword)

機 能 ユーザ情報を設定します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

userName:ログイン用ユーザ名

userPassword:ログイン用ユーザパスワード

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

異 常

備 考

注意事項 二回目実行が発生されば、IDM2M_RESTC_JSESSIONIDをクリーンします

関連関数 IDM2M_RESTC_Login

int IDM2M_RESTC_setToken (HIDM2M_RESTC hIDM2M_RESTC,

char* token)

機 能 プロジェクトトークンを設定します。

Page 16: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 16

引 数 hIDM2M_RESTC:M2M RESTCハンドル

token:プロジェクトトークン

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

異 常

備 考

注意事項

関連関数 IDM2M_RESTC_Login

int IDM2M_RESTC_setProductID (HIDM2M_RESTC hIDM2M_RESTC,

char* productID)

機 能 プロダクト IDを設定します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

productID:プロダクト ID

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

異 常

備 考 プロダクト IDは数字、英字で組み合わせた 12バイトの文字列。例:

ABC001abc999

注意事項 プロダクト IDの長さが 12でない場合は、>12:前頭の 12文字を使用、<12:後

に「0」で補足

関連関数 IDM2M_RESTC_Login、IDM2M_RESTC_bindDevice

int IDM2M_RESTC_bindDevice (HIDM2M_RESTC hIDM2M_RESTC)

機 能 デバイスを登録します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常

備 考

注意事項

関連関数

Page 17: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 17

int IDM2M_RESTC_login (HIDM2M_RESTC hIDM2M_RESTC) 機 能 ユーザログイン。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル 戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗 IDM2M_RESTC_REQUEST_USER_LOCKED: Locked IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常 備 考 [IPAddress]/device/auth/login を参照します

ログイン成功されば、ハンドル中のユーザ名とユーザパスワードを”**********”に書き込みします。 注意事項 Locked が発生されば、IDM2M_RESTC_JSESSIONID をクリーンします 関連関数 IDM2M_RESTC_setUserInformation

IDM2M_RESTC_logout

int IDM2M_RESTC_updatePassword (HIDM2M_RESTC hIDM2M_RESTC,

char* oldPassword,

char* newPassword)

機 能 ユーザパスワードを更新。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

IDM2M_RESTC_REQUEST_USER_LOCKED : Locked

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常

備 考 [IPAddress]/device/auth/upd_pwdを参照します

注意事項

関連関数 IDM2M_RESTC_login

int IDM2M_RESTC_logout (HIDM2M_RESTC hIDM2M_RESTC)

機 能 ユーザログアウト, IDM2M_RESTC_JSESSIONIDをクリーンします

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

Page 18: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 18

異 常

備 考 [IPAddress]/device/auth/logoutを参照します

注意事項

関連関数 IDM2M_RESTC_login

char* IDM2M_RESTC_getEmpLicenseKey (HIDM2M_RESTC hIDM2M_RESTC)

機 能 ログイン成功したら、ライセンスキーを取得します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 Empressのライセンスキー

異 常 未ログイン

備 考 [IPAddress]/device/auth/loginを参照します

注意事項 ログイン時に、ハンドルに登録して、ログイン後にハンドルから参照します。

関連関数 IDM2M_RESTC_login

char* IDM2M_RESTC_getEncryptionKey (HIDM2M_RESTC hIDM2M_RESTC)

機 能 ログイン成功したら、サーバ側で発行の EmpressDB暗号化キーを取得します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 暗号化キー

異 常 未ログイン

備 考 [IPAddress]/device/auth/loginを参照します

注意事項 ログイン時に、ハンドルに登録して、ログイン後にハンドルから参照します。

関連関数 IDM2M_RESTC_login

int IDM2M_RESTC_getCleanupStatus (HIDM2M_RESTC hIDM2M_RESTC)

機 能 ローカルすべてデータをクリーンするの状態を確認します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 IDM2M_RESTC_CLEAN_NO: No clean

IDM2M_RESTC_CLEAN_YES: clean local data

IDM2M_RESTC_FAIL:失敗

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

Page 19: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 19

異 常 タイムアウト

未ログイン

アカウントロック

備 考 [IPAddress]/device/auth/cleanup_statusを参照します

注意事項

関連関数 IDM2M_RESTC_Login

char* IDM2M_RESTC_getOperatingID (HIDM2M_RESTC hIDM2M_RESTC)

機 能 ログイン成功したら、サーバ側で発行の操作 ID(唯一 IDです)を取得します。毎

回実行されば、新しい操作 IDを発行します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 操作 ID

異 常 タイムアウト

未ログイン

アカウントロック

備 考 [IPAddress]/device/auth/op_tokenを参照します

注意事項

関連関数 IDM2M_RESTC_login

int IDM2M_RESTC_validateOperatingID (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID)

機 能 ログイン成功したら、操作結果を確認します。

optokenを使用しての関数を使用する場合のみ有効です。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

operatingID:操作 ID

戻 り 値 IDM2M_RESTC_OPERATION_SUCCESS :成功

IDM2M_RESTC_OPERATION_EXECUTING :実行中

IDM2M_RESTC_OPERATION_FAIL:失敗

IDM2M_RESTC_OPERATION_UNKNOWN:操作 ID存在しない

IDM2M_RESTC_OPERATION_UNRECOGNIZED:不明の原因失敗しました。

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

Page 20: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 20

異 常

備 考 [IPAddress]/device/auth/op_retを参照します

注意事項

関連関数 IDM2M_RESTC_login

M2M RESTC レプリケーション用 API

char* IDM2M_RESTC_REPL_getServerTimestamp (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID)

機 能 サーバの現在 GMT時間を取得します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 サーバの現在時間

異 常 失敗

タイムアウト

備 考 [IPAddress]/device/replication/db/current_timestampを参照します

注意事項

関連関数 IDM2M_RESTC_login

IDM2M_RESTC_getOperatingID

char* IDM2M_RESTC_REPL_pullUpdatedData (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* containerInfo,

char* localCurrentTimestamp,

int maxRecord)

機 能 サーバから差分データを取得します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

operatingID:操作 ID

containerInfo:container情報、複数可能

Page 21: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 21

例:{container:[{"container_name":"ci1","db_id":"serverdb1",

"server_table_name":"tab1",

"server_field_timestamp":"EMPRESS_TIMESTAMP",

"server_field_del":"EMPRESS_LOGIC_DELETED",

"server_field_ownerlabel":"EMPRESS_OWNER_LABEL",

"local_db_id":"localdb1",

"local_table_name":"tab1",

"rep_last_time":"20150215120628123456",

"rep_direction":0,"subset":"groupid>10"},{次の container情報},...]}

localCurrentTimestamp:ローカルの GMTタイムスタンプです、DBで

gmt_now()実行して取得します

maxRecord:取得するレコード概数です。

戻 り 値 サーバの差分データ,json文字列

異 常 失敗

タイムアウト

備 考 [IPAddress]/device/replication/diffdataを参照します

注意事項

関連関数 IDM2M_RESTC_login

IDM2M_RESTC_getOperatingID

int IDM2M_RESTC_REPL_pushUpdatedData(

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* containerInfo,

char* diffdata)

機 能 ローカルの差分データをサーバに送りて同期します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

operatingID:操作 ID

containerInfo:container情報

例:{"container_name":"ex","localDBPath":"","localDBEncryptKey":"",

"localDBCipher":"","localDBBrand":1,"localTableName":"test",

"remoteDBPath":"/opt/testdb","remoteDBEncryptKey":"",

"remoteDBCipher":"","remoteDBBrand":1,"remoteTableName":"test",

Page 22: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 22

"remoteFieldTimestamp":"EMPRESS_TIMESTAMP","remoteFieldDel":"EMPRES

S_LOGIC_DELETED","LastRepTime":"20170101010101000000000",

"repDirection":1,"subset":""}

diffdata:ローカルの差分データ,json文字列

戻 り 値 IDM2M_RESTC_SUCCESS:成功

IDM2M_RESTC_FAIL:失敗

異 常 タイムアウト

備 考 [IPAddress]/device/replication/syncを参照します

注意事項

関連関数 IDM2M_RESTC_login

IDM2M_RESTC_getOperatingID

M2M RESTC RDBC 用 API

char* IDM2M_RESTC_RDBC_execQuery (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* querySQL)

機 能 サーバの DBでクエリーを実行します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

operatingID:操作 ID。

querySQL:クエリーSQL、ex:{"sql":["select * from tab1","select * from

tab2",…]}。

戻 り 値 クエリーの実行結果

attrs:列名

rows:対応するデータ

ex

"attrs": [{"id":”int”},{"data1":”char”}, {"data2":”text”},…],

"rows" :[ {1,"xxx","xbox"},{2,”yyy”,”ps4”},…],

異 常 成功

失敗

Page 23: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 23

タイムアウト

備 考 [IPAddress]/device/db/sql/queryを参照します

注意事項

関連関数 IDM2M_RESTC_Login

int IDM2M_RESTC_RDBC_batchUpload(

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* batch,

int transactionFlag,

int continueFlag)

機 能 サーバの DBにレコードを更新します。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

operatingID:操作 ID。

tableName:テーブル名前。

batch:サーバに送るバッチ文字列、JSON。

ex: batch:[{"op":"insert",

"table_name":"t1",

"data":{"attrs": [***,...],

"rows" :[{1,....},

{2,....}]}},

{"op":"delete",

"table_name":"t2",

"query":"id=2",

"data":null},

{"op":"update",

"table_name":"t2",

"query":"id=2",

"data":{"attrs": [***,...],

"rows" :[{1,....},

{2,....}]}}

],

Page 24: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 24

transactionFlag:トランザクション起動フラグ,1は起動します、0は起動しませ

ん。

continueFlag:トランザクション起動していない時に、エラー発生されば、続けて

実行フラグ、1は続けます、0は続けません

戻 り 値 IDM2M_RESTC_SUCCESS:成功

IDM2M_RESTC_FAIL:失敗

異 常

備 考 [IPAddress]/device/db/batchを参照します

注意事項

関連関数 IDM2M_RESTC_login

M2M RESTC ファイル管理用 API

char* IDM2M_RESTC_FILE_getFolderInfo (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* folderPath) 機 能 サーバからフォルダツリーを取得します。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

operatingID:操作 ID。 folderPath:フォルダの URI

戻 り 値 フォルダ以下のファイルやフォルダ情報のツリー形式,json 文字列 異 常 失敗

タイムアウト 備 考 [IPAddress]/device/filectl/dir/info を参照します 注意事項 関連関数 IDM2M_RESTC_getOperatingID

int IDM2M_RESTC_FILE_createFolder (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

Page 25: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 25

char* folderPath,

char* folderName) 機 能 サーバからフォルダを作成します。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

operatingID:操作 ID。 folderPath:フォルダの URI folderName:作成するフォルダの名前

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 IDM2M_RESTC_FAIL: 失敗

異 常 備 考 [IPAddress]/device/filectl/dir/create を参照します 注意事項 関連関数 IDM2M_RESTC_getOperatingID

int IDM2M_RESTC_FILE_deleteFolder (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* folderPath) 機 能 サーバからフォルダを削除します。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

operatingID:操作 ID。 folderPath:フォルダの URI

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 IDM2M_RESTC_FAIL: 失敗

異 常 備 考 [IPAddress]/device/filectl/dir/delete を参照します 注意事項 関連関数 IDM2M_RESTC_getOperatingID

int IDM2M_RESTC_FILE_upload (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* filePath,

Page 26: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 26

char* serverFileName,

char* serverFolderPath) 機 能 サーバからファイルをアップロードします。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

operatingID:操作 ID。 filePath:ローカルのファイルパス serverFileName:ファイルの名前 serverFolderPath:フォルダの URI

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 IDM2M_RESTC_FAIL: 失敗

異 常 備 考 [IPAddress]/device/filectl/file/upload を参照します 注意事項 関連関数 IDM2M_RESTC_getOperatingID

int IDM2M_RESTC_FILE_download (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* downloadPath,

char* serverFileName,

char* serverFolderPath) 機 能 サーバからファイルをダウンロードします。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

operatingID:操作 ID。 downloadPath:ダウンロードしたファイルのパス serverFileName:ファイルの名前 serverFolderPath:フォルダの URI

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 IDM2M_RESTC_FAIL: 失敗

異 常 備 考 [IPAddress]/device/filectl/file/download を参照します 注意事項 関連関数 IDM2M_RESTC_getOperatingID

Page 27: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 27

int IDM2M_RESTC_FILE_deleteFile (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* filePath) 機 能 サーバからファイルを削除します。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

operatingID:操作 ID。 filePath:ファイルの URI

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 IDM2M_RESTC_FAIL: 失敗

異 常 備 考 [IPAddress]/device/filectl/file/delete を参照します 注意事項 関連関数 IDM2M_RESTC_getOperatingID

char* IDM2M_RESTC_FILE_getFileLines (

HIDM2M_RESTC hIDM2M_RESTC,

char* operatingID,

char* filePath,

char* lineSeparator,

int startPos,

int lineCount) 機 能 サーバからファイルの行データを取得します。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

operatingID:操作 ID。 filePath:ファイルの URI lineSeparator:行のセパレータ startPos:行の開始位置 lineCount:取得する行数

戻 り 値 ファイルデータの行情報,json 文字列 異 常 失敗

タイムアウト 備 考 [IPAddress]/device/filectl/file/lines を参照します 注意事項

Page 28: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 28

関連関数 IDM2M_RESTC_getOperatingID

M2M RESTC IoTHub クライアント用 API

char **IDM2M_RESTC_IoTHub_getConnectionInfo(

HIDM2M_RESTC hIDM2M_RESTC,

char* IoTHubName) 機 能 IoTHub に関する接続情報を取得する。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

IoTHubName:IoTHub 名。 戻 り 値 六つの要素を持つ配列

‘status’ 、’pk’、’sk’ 、’ device_id’、’connection’、’hostname’ 異 常 失敗

タイムアウト 備 考 [IPAddress]/device/iothub/conninfo を参照します 注意事項 関連関数

int IDM2M_RESTC_IoTHub_registerDevice(

HIDM2M_RESTC hIDM2M_RESTC,

char* authToken,

char* deviceId,

char* deviceIp) 機 能 IoTHub に関するデバイス情報を登録します。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

authToken:認証トークン。 deviceId:デバイス ID deviceIp:デバイス IP

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 IDM2M_RESTC_FAIL: 失敗 IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常

Page 29: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 29

備 考 [IPAddress]/device/iothub/device/register を参照します 注意事項 関連関数

int IDM2M_RESTC_IoTHub_editDeviceIp(

HIDM2M_RESTC hIDM2M_RESTC,

char* authToken,

char* deviceId,

char* newDeviceIp) 機 能 IoTHub に関するデバイス IP を修正する。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

authToken:認証トークン。 deviceId:デバイス ID newDeviceIp:新しいデバイス IP

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 IDM2M_RESTC_FAIL: 失敗 IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常 備 考 [IPAddress]/device/iothub/ip/edit を参照します 注意事項 関連関数

char **IDM2M_RESTC_IoTHub_getDeviceInfo(

HIDM2M_RESTC hIDM2M_RESTC,

char* authToken,

char* deviceId,

char* deviceIp) 機 能 IoTHub に関するデバイス情報を取得する。 引 数 hIDM2M_RESTC:M2M RESTC ハンドル

authToken:認証トークン。 deviceId:デバイス ID deviceIp:デバイス IP

戻 り 値 三つの要素を持つ配列 ‘status’、‘deviceid、’deviceip’

Page 30: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 30

異 常 失敗 タイムアウト

備 考 [IPAddress]/device/iothub/device/info を参照します 注意事項 関連関数

M2M RESTC デバイス(DTC)死活監視クライアント用 API

int IDM2M_RESTC_devmonitor_updateStatus (

HIDM2M_RESTC hIDM2M_RESTC,

int status)

機 能 デバイスの状況を更新する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

status:デバイスの状況

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常

備 考 Statusの値は下記の通り:

-1:error;

0:dead; 3:shutdown;

1:live; 4:cleardata

2:reboot; 5:in update

[IPAddress]/device/devmonitor/updstatusを参照

注意事項

関連関数

int IDM2M_RESTC_devmonitor_getInstruction (

HIDM2M_RESTC hIDM2M_RESTC,

int *cmd)

機 能 サーバから指示を確認する。

Page 31: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 31

引 数 hIDM2M_RESTC:M2M RESTCハンドル

cmd:サーバからの指示

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常

備 考 cmdの値は下記の通り:

0 : do nothing

1:reboot

2:shutdown

3:cleardata

[IPAddress]/device/devmonitor/getcmdを参照

注意事項

関連関数

int IDM2M_RESTC_devmonitor_getCheckInterval (

HIDM2M_RESTC hIDM2M_RESTC,

int *chkintsec)

機 能 死活監視の時間間隔を確認する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

chkintsec:確認間隔時間(秒)

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

IDM2M_RESTC_REQUEST_TIMEOUT:タイムアウト

異 常

備 考 [IPAddress]/device/devmonitor/getfreq を参照

注意事項

関連関数

Page 32: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 32

M2M RESTC ファームウェア更新クライアント用 API

char **IDM2M_RESTC_firmware_getList (

HIDM2M_RESTC hIDM2M_RESTC)

機 能 ファームウェア一覧を取得する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

戻 り 値 成功:ファームウェア名(文字列)の配列

失敗:NULL

異 常

備 考 戻り値の例:

[“fmwname1”, “fmwname2”, …, “fmwnamen”]

注意事項

関連関数

int IDM2M_RESTC_firmware_getLastVersion (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int *version,

char *releasedate)

機 能 指定ファームウェアの最新のバージョン情報を取得する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

version:ファームウェアの最新バージョン [OUTPUT]

releasedate:リリース時間 [OUTPUT]

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

異 常

備 考 ファームウェアのバージョン(version)は数字(1, 10, 999等)、

リリース時間(releasedate)は年月日時分の文字列(“201705051234”等)

注意事項

関連関数 IDM2M_RESTC_firmware_getList

Page 33: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 33

char **IDM2M_RESTC_firmware_getFmwFiles (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int version,

char *path)

機 能 ファームウェアのファイル情報を取得する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

version:ファームウェアのバージョン

path:ファームウェアのサーバ側のパス(NULLで固定)

戻 り 値 成功:ファームウェアのファイル情報一覧(文字列)の配列

失敗:NULL

異 常

備 考 戻り値の例:

[“name:fnm1,fileid:1,size:10”, “name:fnm2,fileid:25,size:400”, …]

注意事項

関連関数 IDM2M_RESTC_getError

int IDM2M_RESTC_firmware_downloadFileByName (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int version,

char *path,

char *filename)

機 能 ファームウェアの指定ファイル(by name)をダウンロードする。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

version:ファームウェアのバージョン

path:ファームウェアのサーバ側のパス(NULLで固定)

filename:ダウンロードするファイル名

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

Page 34: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 34

IDM2M_RESTC_FAIL: 失敗

異 常 失敗した時に下記のエラーメッセージを DM2M_RESTC_getErrorで取得できる

1.「The file could not be downloaded.」

2.「A component of the path does not exist.」

備 考

注意事項 Pathを NULLで設定した時に、サーバのディフォルトパスからファームウェアのフ

ァイルをダウンロードする

関連関数 IDM2M_RESTC_getError

int IDM2M_RESTC_firmware_downloadFileByFileId (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int version,

char *path,

char *fileid)

機 能 ファームウェアの指定ファイル(by file id)をダウンロードする。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

version:ファームウェアのバージョン

path:ファームウェアのサーバ側のパス(NULLで固定)

fileid:ダウンロードするファイルの FileID

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 、IDM2M_RESTC_FAIL: 失敗

異 常 失敗した時に下記のエラーメッセージを DM2M_RESTC_getErrorで取得できる

1.「The file could not be downloaded.」

2.「A component of the path does not exist.」

備 考

注意事項 Pathを NULLで設定した時に、サーバのディフォルトパスからファームウェアのフ

ァイルをダウンロードする

関連関数 IDM2M_RESTC_firmware_getFmwFiles 、IDM2M_RESTC_getError

int IDM2M_RESTC_firmware_downloadFileByUniqueId (

HIDM2M_RESTC hIDM2M_RESTC,

Page 35: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 35

char *fmwname,

int version,

char *path,

char *uniqueid)

機 能 ファームウェアの指定ファイル(by unique id)をダウンロードする。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

version:ファームウェアのバージョン

path:ファームウェアのサーバ側のパス(NULLで固定)

uniqueid:ダウンロードするファイルの FileID

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

異 常 失敗した時に下記のエラーメッセージを DM2M_RESTC_getErrorで取得できる

1.「The file could not be downloaded.」

2.「A component of the path does not exist.」

備 考

注意事項 Pathを NULLで設定した時に、サーバのディフォルトパスからファームウェアのフ

ァイルをダウンロードする

関連関数 IDM2M_RESTC_firmware_getFmwFiles 、IDM2M_RESTC_getError

int IDM2M_RESTC_firmware_downloadFileCheck_md5 (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int version,

char *path,

char *filename,

char *md5sum)

機 能 ダウンロードしたファイルの MD5ハッシュ値チェック

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

version:ファームウェアのバージョン

path:ファームウェアのサーバ側のパス(NULLで固定)

filename:チェックするファイル名

md5sum:ファイルのMD5ハッシュ値

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

Page 36: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 36

IDM2M_RESTC_FAIL: 失敗

異 常

備 考

注意事項 Pathを NULLで設定した時に、サーバのディフォルトパスからファームウェアのフ

ァイルをダウンロードする

関連関数

int IDM2M_RESTC_firmware_sendDownloadResult (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int version,

int result)

機 能 ファームウェアファイルのダウンロード結果をサーバに報告する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

version:ファームウェアの最新バージョン

result:ダウンロード結果。

戻 り 値 IDM2M_RESTC_SUCCESS: 成功

IDM2M_RESTC_FAIL: 失敗

異 常

備 考 ダウンロード結果は成功=1、失敗=0

指定ファームウェアの全てファイルのダウンロード結果を纏めてサーバに報告する。

注意事項

関連関数

int IDM2M_RESTC_firmware_getUpdatePermission (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int preversion,

int updversion)

機 能 ファームウェアの更新可否をサーバに確認する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

Page 37: Empress M2M · 2.Empress M2M レプリケーションの機能 中継器内の. Empress暗号化組込みデータベースに収集されたデータをオンプレミスやクラウド上のデ

Page: 37

fmwname:ファームウェア名

preversion:ファームウェアの更新前のバージョン

updversion:ファームウェアの更新後のバージョン

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 (更新可)

IDM2M_RESTC_FAIL: 失敗 (更新不可)

異 常

備 考

注意事項

関連関数

int IDM2M_RESTC_firmware_ sendUpdateResult (

HIDM2M_RESTC hIDM2M_RESTC,

char *fmwname,

int preversion,

int updversion,

int result)

機 能 ファームウェアの更新結果をサーバに報告する。

引 数 hIDM2M_RESTC:M2M RESTCハンドル

fmwname:ファームウェア名

preversion:ファームウェアの更新前のバージョン

updversion:ファームウェアの更新後のバージョン

result:更新の結果:成功=1、失敗=0

戻 り 値 IDM2M_RESTC_SUCCESS: 成功 (更新可)

IDM2M_RESTC_FAIL: 失敗 (更新不可)

異 常

備 考

注意事項

関連関数