カスタムアプリケーションからの RESTful API の使用
REST プラグインで提供される REST API を使用すると、ビジョンシステムにリクエストを送信したり、ビジョンシステムから情報を照会したりできます。これは、定義済みの (ベース) URL と HTTP メソッドで構成される HTTP エンドポイントを介して実行されます。ユースケースに合わせてカスタマイズしたアプリケーションを構築し、利用可能なエンドポイントにリクエストを送信すると、ビジョンシステムからの情報を照会したり、アクションをトリガーして制御したりできます。
REST API には、2 種類の HTTP メソッドがあります。GET と POST です。GET メソッドは、ビジョンシステムから情報を照会するときに使用します。たとえば、利用可能なレシピのリストを取得したり、実行の結果を取得したりするときです。POST メソッドはレシピの準備や実行の開始など、特定のアクションをトリガーするときに使用します。
以下のセクションでは、REST API によって提供されるエンドポイントと、それぞれのエンドポイントをどのような目的で使用できるかを説明します。概して言うと、以下の目的に使用できます。
- システムステータスを取得し、ビジョンシステムにアクションを送信する。
- レシピを準備、または準備解除する。
- 単一または連続実行で実行中のジョブを開始する。
- レシピ、実行中のジョブ、イベント、エラーに関する情報を取得する。
- 画像結果を含む結果を取得する。
利用可能なエンドポイント
次の表では、REST API で利用可能なエンドポイントの概要と、リソースの API ストレージセマンティクスの概要を示しています。
|
URI |
HTTP メソッド |
説明 |
|---|---|---|
|
/errors |
GET |
エラーのリストを返します。 |
|
/errors/{error_id} |
GET |
特定のエラー ID のエラー情報を返します。 |
|
/events |
GET |
イベントのリストを返します。 |
|
/events/{event_id} |
GET |
特定のイベントに関する情報を返します。 |
|
/jobs |
GET |
既知のジョブすべてのリストを返します。 |
|
/jobs/{job_id} |
GET |
特定のレシピの明示的なジョブについての情報を返します。 |
|
/jobs/{job_id}/results |
GET |
ジョブに関連付けられた結果のリストを返します。 |
|
/recipes |
GET |
利用可能なレシピのリストを返します。 |
|
/recipes/actions |
POST |
特定のレシピのアクションを送信します。 |
|
/recipes/actions/{action_id}/status |
GET |
特定のレシピに指定されたアクションのステータスを返します。 |
|
/recipes/{recipe_id}/jobs |
GET |
特定のレシピのために開始されたジョブすべてのリストを返します。 |
|
/recipes/{recipe_id}/results |
GET |
特定のレシピの結果リストを返します。 |
|
/results |
GET |
結果のリストを返します。 |
|
/results/{result_id} |
GET |
特定の結果 ID の結果情報を返します。 |
|
/results/{result_id}/data/{data_index}.jpg |
GET |
特定の結果 ID の結果内の特定のデータコンポーネントの JPEG 画像データを返します。 |
|
/results/{result_id}/data/{data_index}.png |
GET |
特定の結果 ID の結果内の特定のデータコンポーネントの PNG 画像データを返します。 |
|
/state_machine |
GET |
システムの現在のステータスを返します。 |
|
/state_machine/actions |
POST |
ビジョンシステムにアクションを送信します。 |
|
/state_machine/actions/{action_id}/status |
GET |
指定したアクションのステータスを返します。 |
REST API と利用可能なエンドポイントの詳細については、「API Docs」メニュー項目を介して組み込みのウェブアプリケーションでアクセスできる REST API のドキュメントを参照してください。
使用可能な結果の数の構成
結果の照会は、それぞれの結果データがまだ利用可能な場合にのみ成功します。それ以外の場合、エラーが返されます。結果データがまだ利用可能かどうかは、それぞれの結果ストアのサイズによって異なります。REST プラグインを使用する場合、結果には異なる結果ストアが使用されます。
REST プラグインには、特定の結果容量があるインメモリデータベースが付属しています。画像データを除くすべての実行結果は、プラグインの結果ストアに保存されます。この結果ストアのサイズは、プラグインの構成で定義されます。詳細については、プラグインの構成 の「In-Memory Database」セクションを参照してください。結果の数が定義されたバッファサイズを超えた場合、最も古い結果が削除されます。
それとは対照的に、画像結果はビジョンシステムによって提供されるインメモリデータベースに別途保存され、結果ストアのそれぞれの結果に接続されます。この結果ストアのバッファサイズも構成可能です。ただし、結果の数が定義されたバッファサイズを超えた場合、最も古い画像が削除されます。画像をさらに長期間保存したい場合は、拡張画像ストレージを使用できます。これは、ビジョンシステムのインメモリストレージから削除される画像を保持するために使用できます。このようにして、画像結果を引き続き利用できます。ただし、拡張画像ストレージのサイズを超えるとすぐに、このストレージから最も古い画像も削除されます。
インメモリストレージのサイズと拡張画像ストレージの設定は、MERLIC Creator 内の MERLIC 設定または INI ファイル内のそれぞれの ini オプションで調整できます。詳細については、「MERLIC の設定」および「MERLIC INI ファイル」を参照してください。