SystemLink TDM DataFinderで稼働中のDataFinderインスタンス名をHTTP APIで取得する

更新しました Feb 16, 2023

環境

ソフトウェア

  • LabVIEW
  • SystemLink
  • DataFinder Server

SystemLink TDM DataFinderのインスタンス名はLabVIEW、PythonからHTTP APIで取得可能です。ここではSystemLinkに対して使用可能なHTTP APIの確認方法とLabVIEWからHTTP APIを実行し、稼働中のDataFinderインスタンス名を取得する方法を確認します。

Swagger UIでHTTP APIの挙動を確認する

1. Swagger UIを開きます。
SystemLink Web Applicationにログインし、稼働中のDataFinderインスタンスを確認します。SystemLinkの各アプリケーションの機能・APIに関しては右上のヘルプボタンからマニュアル、HTTP APIを開く事で確認できます。ここではHTTP APIを選択し、Swagger UIでデータナビゲーションに関連するHTTP APIを確認します。
 
1DataFinder.png

2. DataFinderのカテゴリを選択します。
Swagger UI上でDataFinderに関するHTTP APIを確認する為に右上のメニューからDataFinderを選択します。下記のDataFinder Configurationが表示されます。
 
2swagger.png

3. GUIDを取得します。
DataFinderインスタンス名をHTTP APIで取得するには、DataFinder上で稼働しているすべてのインスタンスの識別子であるGUIDを取得する必要があります。GET /datafindersの項目でTry it outを選択すると、下記の様に実行可能なモードとなります。ここで入力値として検索文字列の設定があります。ここでは*をワイルドカードとして入力します。ワイルドカードを使用してDataFinder上で稼働しているインスタンスのGUIDを検索すると、全てのインスタンスのGUIDを取得できます。
 
3GET GUID.png

返答内容はResponsesの部分のCodeとResponse bodyにて確認できます。Codeが200番台の場合、HTTP APIは正常に動作しています。上記の画像では下記の2つのGIUDを確認できます。
5284fb0e-6076-45d1-b0cb-78b42089bd18
caf32724-8a18-484e-b444-8e277ec10911

この2つのGUIDを使用するとそれぞれのGUIDで管理されているDataFinderインスタンスの情報を取得できます。Swagger UIについて、詳細な使用方法はこちらの資料で確認できます。


4. GUIDを使用してDataFinderインスタンス名を取得します。
GET /datafinders/{df_uuid}/runtimestatusにGIUDを使用する事でインスタンス名を取得できます。このHTTP APIの項目にてTry it outを選択し、DataFinder Instance GUIDを入力し、実行するとResponse Bodyのnameの部分にインスタンス名が確認できます。
 
3GET Name.png
 

LabVIEWでHTTP APIを実行しDataFinderインスタンス名を取得する

1. LabVIEWのHTTP GET関数でSwagger UIで確認したRequest URLを実行します。
LabVIEWからSwagger UIで確認したHTTP APIを使用するにはSwagger UIでテストした際に生成されるRequest URLをLabVIEWのHTTTP関数で実行します。ここではこの記事の下部のAttachmentsに掲載されているGET DataFinderName.viを使用します。Swagger UIで確認した2つのHTTP APIを実行し、返信からGUID、インスタンス名のみを抜き出します。
 
5GET DataFinderName2.png

上記の図の赤字で示したRequest URLの部分は使用している環境においてSwagger UIで確認したものに置き換える必要があります。