RESTful-API in einer benutzerdefinierten Anwendung nutzen

Die vom REST-Plugin zur Verfügung gestellte REST-API bietet die Möglichkeit, Anforderungen an das Bildverarbeitungssystem zu senden und Informationen vom Bildverarbeitungssystem abzufragen. Dies erfolgt über HTTP-Endpunkte, die aus einer vordefinierten URL (Basis‑URL) und einer HTTP-Methode bestehen. Sie können eine für den jeweiligen Anwendungsfall angepasste Anwendung erstellen und Anforderungen an die verfügbaren Endpunkte senden, um Informationen vom Bildverarbeitungssystem abzufragen und das Bildverarbeitungssystem durch Auslösen von Aktionen zu steuern.

Die REST-API unterstützt zwei verschiedene HTTP-Methoden: GET und POST. GET-Methoden werden zum Abfragen von Informationen vom Bildverarbeitungssystem verwendet, um beispielsweise eine Liste der verfügbaren Rezepte oder die Ergebnisse einer Ausführung abzurufen. POST-Methoden werden zum Auslösen einer bestimmten Aktion verwendet, z. B. Laden eines Rezepts oder Starten einer Ausführung.

Im folgenden Abschnitt wird beschrieben, welche Endpunkte von der REST-API bereitgestellt werden und wofür die einzelnen Endpunkte verwendet werden können. Sie können für die folgenden Zwecke verwendet werden:

  • Systemstatus abrufen und Aktionen an das Bildverarbeitungssystem senden.
  • Rezepte laden und entladen.
  • Ausführung von Jobs starten (Einzelausführung oder kontinuierliche Ausführung).
  • Informationen zu Rezepten, aktiven Jobs, Ereignissen und Fehlern abrufen.
  • Ergebnisse, einschließlich Bildergebnisse, abrufen.

Verfügbare Endpunkte

Die folgende Tabelle enthält eine Übersicht über die verfügbaren Endpunkte der REST-API und somit eine Übersicht über die API-Speichersemantik der Ressourcen.

URI

HTTP-Methode

Beschreibung

/errors

GET

Gibt eine Liste der Fehler zurück.

/errors/{error_id}

GET

Gibt Fehlerinformationen für eine bestimmte Fehler-ID zurück.

/events

GET

Gibt eine Liste der Ereignisse zurück.

/events/{event_id}

GET

Gibt Informationen zu einem bestimmten Ereignis zurück.

/jobs

GET

Gibt eine Liste aller bekannten Jobs zurück.

/jobs/{job_id}

GET

Gibt Informationen zu einem konkreten Job für ein bestimmtes Rezept zurück.

/jobs/{job_id}/results

GET

Gibt eine Liste der Ergebnisse für einen Job zurück.

/recipes

GET

Gibt eine Liste der verfügbaren Rezepte zurück.

/recipes/actions

POST

Sendet eine Aktion für ein bestimmtes Rezept.

/recipes/actions/{action_id}/status

GET

Gibt den Status der angegebenen Aktion für ein bestimmtes Rezept zurück.

/recipes/{recipe_id}/jobs

GET

Gibt eine Liste aller für ein bestimmtes Rezept gestarteten Jobs zurück.

/recipes/{recipe_id}/results

GET

Gibt eine Liste der Ergebnisse für ein bestimmtes Rezept zurück.

/results

GET

Gibt eine Liste der Ergebnisse zurück.

/results/{result_id}

GET

Gibt Ergebnisinformationen für eine bestimmte Ergebnis-ID zurück.

/results/{result_id}/data/{data_index}.jpg

GET

Gibt JPEG-Bilddaten einer bestimmten Datenkomponente im Ergebnis für eine bestimmte Ergebnis-ID zurück.

/results/{result_id}/data/{data_index}.png

GET

Gibt PNG-Bilddaten einer bestimmten Datenkomponente im Ergebnis für eine bestimmte Ergebnis-ID zurück.

/state_machine

GET

Gibt den aktuellen Status des Systems zurück.

/state_machine/actions

POST

Sendet eine Aktion an das Bildverarbeitungssystem.

/state_machine/actions/{action_id}/status

GET

Gibt den Status der angegebenen Aktion zurück.

Weitere Informationen zur REST-API und den verfügbaren Endpunkten finden Sie in der Dokumentation der REST-API, die in der integrierten Webanwendung über den Menüeintrag „API Docs“ aufgerufen werden kann.

Anzahl verfügbarer Ergebnisse konfigurieren

Ergebnisse können nur erfolgreich abgerufen werden, wenn die entsprechenden Ergebnisdaten noch verfügbar sind. Andernfalls wird ein Fehler ausgegeben. Ob die Ergebnisdaten noch verfügbar sind, hängt von der Größe der jeweiligen Ergebnisspeicher ab. Bei Verwendung des REST-Plugins werden verschiedene Ergebnisspeicher für die Ergebnisse verwendet.

Das REST-Plugin umfasst eine In-Memory-Datenbank mit einer bestimmten Kapazität für Ergebnisse. Alle Ergebnisse einer Ausführung werden mit Ausnahme von Bilddaten im Ergebnisspeicher des Plugins gespeichert. Die Größe des Ergebnisspeichers wird in der Konfiguration des Plugins definiert. Weitere Informationen finden Sie im Abschnitt In-Memory Database unter Plugin konfigurieren. Wenn die Anzahl der Ergebnisse die definierte Puffergröße übersteigt, werden die ältesten Ergebnisse entfernt.

Bildergebnisse werden im Gegensatz dazu separat in der In-Memory-Datenbank des Bildverarbeitungssystems gespeichert und mit dem entsprechenden Ergebnis im Ergebnisspeicher verknüpft. Die Puffergröße dieses Ergebnisspeichers ist ebenfalls konfigurierbar. Wenn die Anzahl der Ergebnisse jedoch die definierte Puffergröße übersteigt, werden die ältesten Ergebnisse entfernt. Wenn Bilder länger gespeichert bleiben sollen, können Sie den erweiterten Bildspeicher verwenden. Dort können die Bilder gespeichert werden, die aus dem In-Memory-Speicher des Bildverarbeitungssystems entfernt werden. So sind die Bildergebnisse weiterhin verfügbar. Sobald die Größe des erweiterten Bildspeichers jedoch überschritten wird, werden die ältesten Bilder ebenfalls aus diesem Speicher entfernt.

Sie können die Größe des In-Memory-Speichers und die Einstellungen für den erweiterten Bildspeicher in den MERLIC-Einstellungen im MERLIC Creator oder in der INI-Datei über die entsprechenden Initialisierungsoptionen anpassen. Weitere Informationen finden Sie unter MERLIC-Einstellungen und Die INI-Datei von MERLIC.