Konnektor anhalten

Nach dem Assistenten ist es möglich, den Konnektor anzuhalten. Dies kann nach dem Schritt Finalize Configuration ausgeführt werden. Dieser Schritt ermöglicht es dem Benutzer, den Status des Konnektors nach dem Start zu bearbeiten. Der Einstiegspunkt für diese Phase ist eine Prozedur namens PUBLIC.PAUSE_CONNECTOR(). Diese kann angepasst werden, indem sie in SQL ersetzt wird oder indem PauseConnectorHandlerBuilder verwendet wird. Der umgekehrte Prozess des Anhaltens des Konnektors, der es dem Benutzer ermöglicht, ihn neu zu starten, ist Konnektor fortsetzen.

Zum Aufrufen dieser Prozedur muss dem Benutzer die Anwendungsrolle ADMIN zugewiesen sein.

Der Schritt „Konnektor anhalten“ besteht intern aus mehreren Phasen. Einige von ihnen sind vollständig anpassbar und tun standardmäßig gar nichts. Die Phasen sind wie folgt:

  1. Validierung der Berechtigungen

  2. Validierung des Status

  3. Validierung des Zustands

  4. Aktualisierung des Status (PAUSING)

  5. Interner Callback

  6. Anhalten von Task Reactor (wenn Task Reactor aktiviert ist)

  7. Aktualisierung des Status (PAUSED)

Anforderungen

„Konnektor anhalten“ erfordert mindestens die folgenden SQL-Dateien, die während der Installation der nativen App ausgeführt werden müssen:

  • core.sql

  • configuration/app_config.sql

  • lifecycle/pause.sql

  • Empfohlen: configuration/finalize_configuration.sql

Validierung der Berechtigungen

Um den Konnektor anzuhalten, muss der Anwendung die Berechtigung EXECUTE TASK erteilt werden.

Diese Validierung kann weder durch die Verwendung von PauseConnectorHandlerBuilder noch durch das Überschreiben einer gespeicherten Prozedur überschrieben werden. Es ist jedoch möglich, einen kundenspezifischen Handler zu implementieren.

Validierung des Status

Um den Konnektor anzuhalten, muss der Konnektor den internen Status STARTED haben.

Diese Validierung kann weder durch die Verwendung von PauseConnectorHandlerBuilder noch durch das Überschreiben von gespeicherten Prozeduren überschrieben werden. Es ist jedoch möglich, einen kundenspezifischen Handler zu implementieren.

Validierung des Zustands

Für den Fall, dass zusätzliche kundenspezifische Validierungen erforderlich sind, gibt es eine gespeicherte Prozedur PUBLIC.PAUSE_CONNECTOR_VALIDATE(), die vom Benutzer angepasst werden kann. Standardmäßig gibt diese Prozedur einfach 'response_code': 'OK' zurück. Die Prozedur kann angepasst werden, indem das SQL-Skript überschrieben wird oder indem PauseConnectorHandlerBuilder verwendet und eine kundenspezifische Implementierung der PauseConnectorStateValidator-Schnittstelle bereitgestellt wird.

Interner Callback

Der interne Callback ist ein weiterer anpassbarer Schritt. Standardmäßig wird PUBLIC.PAUSE_CONNECTOR_INTERNAL() aufgerufen, das 'response_code': 'OK' zurückgibt. Dieses Verfahren ermöglicht es dem Benutzer, zusätzliche Aufgaben auszuführen, die beim Anhalten des Konnektors erforderlich sind, wie z. B. das Anhalten zusätzlicher Konnektor-spezifischer Aufgaben. Die Prozedur kann über das SQL-Skript oder durch Verwendung von PauseConnectorHandlerBuilder überschrieben werden, um eine kundenspezifische Implementierung der PauseConnectorCallback-Schnittstelle bereitzustellen.

Aktualisierung des Status

Wenn alle oben genannten Phasen erfolgreich abgeschlossen sind, wird der interne Status des Konnektors wie folgt aktualisiert:

{
    "status": "PAUSED",
    "configurationStatus": "FINALIZED"
}
Copy

Eine umfassende Abbildung der Zustandsübergänge finden Sie unter Konnektorablauf.

Antwort

Erfolgreiche Antwort

Wenn die Prozedur erfolgreich alle Aufgaben im Hintergrund anhält und ihren Status in PAUSED ändert, wird die Meldung Connector successfully paused. direkt vom Textkörper der Methode PauseConnectorHandler zurückgegeben. Es wird empfohlen, das folgende Format zu verwenden.

{
  "response_code": "OK"
}
Copy

Fehlerantwort

Im Falle eines Fehlers erfolgt die Antwort in folgendem Format:

{
  "response_code": "<ERROR_CODE>",
  "message": "error message"
}
Copy

Mögliche Fehlercodes sind:

  • INVALID_CONNECTOR_STATUS – Die Prozedur wurde auf einem Konnektor mit einem anderen Zustand als [STARTED, PAUSING] aufgerufen.

  • CONNECTOR_STATUS_NOT_FOUND – Der Datensatz mit dem Konnektorstatus existiert nicht in der Datenbank (unabhängig von den Eingaben des Benutzers in dieser Phase – ein interner Fehler)

  • ROLLBACK_CODE – Es ist ein Fehler aufgetreten, aber die Änderungen wurden erfolgreich rückgängig gemacht.

  • INTERNAL_ERROR – Es gibt intern eine Problem; die Meldung sollte beschreibend sein.

  • UNKNOWN_ERROR_CODE – Ein unbekannter Fehler ist aufgetreten und der Konnektor befindet sich nun in einem nicht spezifizierten Zustand