SystemLink ServerのDataFinderインスタンスでインデックス化したデータの検索を行う方法

更新しました Apr 11, 2023

使用製品

ソフトウェア

  • SystemLink
  • SystemLink TDM DataFinder Module

問題

SystemLink TDM DataFinder Moduleを使用してDataFinderインスタンスを作成しました。このDataFinderインスタンスに登録されているデータに対して検索を行い、検索結果のデータの名前、コメント、作成者、日時などのプロパティ情報をプログラム的に取得したいです。どのHTTP APIを使用すべきですか?

解決策

DataFinderインスタンスに対するデータの検索と読み込みはData Navigator Data ServiceのPOST​/ods​/{conI}​/data-readを使用します。下記のSwaggerUIの開き方はこちらの資料 で確認できます。
 
DataNavigatorDataService.png

SwaggerUIにおいて、下記のようにBodyを入力し、ConIを入力後、実行するとResponse Bodyとして指定したプロパティ値が得られます。
 
dataread.png

これらのHTTP APIはLabVIEWやPython等でも実行可能であり、LabVIEWを使用する場合は下記のようになります。
 
GetProperties.png

ただし、この検索条件が多数になる場合や複数のクライアントからの検索が同時に行われる場合、サーバのCPUの状況に注意する必要があります。DataFinderインスタンスはタスクマネージャ上ではmariadbd.exeとして表示されており、インデックスしているプロパティ情報が多いほどメモリの使用量が増大し、検索条件や頻度が高い・多いほどCPUの使用率が上昇します。多数の検索が同時に行われ、CPU使用率が100%となった場合、その時の検索は失敗し、エラーを返す事が確認されています。
 
CPUofServer.png