Konfiguration abschließen¶
Das Abschließen der Konfiguration ist der letzte Schritt des Assistenten, der direkt nach connection configuration
folgt. In diesem Schritt kann der Benutzer alle kundenspezifischen Konfigurationen angeben, die in den vorherigen Schritten der Konfiguration nicht enthalten waren. Außerdem können letzte Anpassungen bezüglich der Konfiguration vorgenommen werden, wie z. B. das Erstellen der Senkendatenbank oder das Starten von Task Reactor. Der Einstiegspunkt für diese Phase ist eine Prozedur namens PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION(CUSTOM_CONFIGURATION VARIANT)
. Diese kann angepasst werden, indem sie in SQL ersetzt wird oder indem FinalizeConnectorHandlerBuilder
verwendet wird. Standardmäßig ist die bereitgestellte custom_configuration
in der Datenbank nicht persistent. Wenn sie also für den Entwurf benötigt wird, muss die Konfiguration mit einer der Erweiterungsmethoden gespeichert werden (wahrscheinlich FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL
).
Zum Aufrufen dieser Prozedur muss dem Benutzer die Anwendungsrolle ADMIN
zugewiesen sein.
Der Schritt „Konfiguration abschließen“ besteht intern aus mehreren Phasen. Einige von ihnen sind vollständig anpassbar und tun standardmäßig gar nichts. Die Phasen sind wie folgt:
Validierung des Status
Validierung der Eingabe
Validierung der Quelle
Interner Callback
Aktualisierung des Status
Anforderungen¶
„Konfiguration abschließen“ erfordert mindestens die folgenden SQL-Dateien, die während der Installation der nativen App ausgeführt werden müssen:
core.sql
configuration/finalize_configuration.sql
Empfohlen:
configuration/app_config.sql
Validierung des Status¶
Um das Abschließen des Konnektors auszuführen, muss der interne Status des Konnektors CONFIGURING
sein, mit dem Konfigurationsstatus CONNECTED
.
Diese Validierung kann weder durch die Verwendung von FinalizeConnectorHandlerBuilder
noch durch das Überschreiben von gespeicherten Prozeduren überschrieben werden. Es ist jedoch möglich, einen kundenspezifischen Handler zu implementieren, der diese Art der Validierung nicht durchführt.
Validierung der Eingabe¶
Die Eingabe muss ein gültiger Variant
-Wert sein. Außerdem gibt es kundenspezifische Validierungen, die erfolgreich abgeschlossen werden müssen. Die gespeicherte Prozedur PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_VALIDATE(CUSTOM_CONFIGURATION VARIANT)
kann vom Benutzer angepasst werden. Standardmäßig gibt diese Prozedur einfach 'response_code': 'OK'
zurück. Die Prozedur kann angepasst werden, indem das SQL-Skript überschrieben wird oder indem FinalizeConnectorHandlerBuilder
verwendet und eine kundenspezifische Implementierung der FinalizeConnectorValidator
-Schnittstelle bereitgestellt wird.
Validierung der Quelle¶
Sobald die Validierungen abgeschlossen wurden, wird mit der Prozedur PUBLIC.VALIDATE_SOURCE(CUSTOM_CONFIGURATION VARIANT)
eine Verbindung zu einer externen Quelle hergestellt. In einigen Fällen kann diese Prozedur dieselbe sein wie die TEST_CONNECTION
-Prozedur, die bei der Verbindungskonfiguration ausgeführt wurde. Allerdings ist TEST_CONNECTION
nur dazu gedacht, die grundlegende Konnektivität zu überprüfen, während VALIDATE_SOURCE
ein Verfahren ist, das einige zusätzliche Konfigurationen erfordern kann, wie z. B. das Überprüfen der Berechtigungen für eine bestimmte Ressource im Quellsystem. Die Standardimplementierung von VALIDATE_SOURCE
gibt 'response_code': 'OK'
zurück. Diese Standardimplementierung kann mit SQL oder durch Implementierung der Schnittstelle SourceValidator
mit FinalizeConnectorHandlerBuilder
überschrieben werden.
Interner Callback¶
Der interne Callback ist ein anpassbarer Schritt, der PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL(CUSTOM_CONFIGURATION VARIANT)
aufruft, das standardmäßig 'response_code': 'OK'
zurückgibt. Diese Prozedur ermöglicht es dem Benutzer, zusätzliche Konfigurationen vorzunehmen, die der Konnektor benötigt, wie z. B. das Speichern der bereitgestellten custom_configuration
in der Tabelle STATE.CONNECTOR_CONFIGURATION
. Die Prozedur kann über das SQL-Skript oder durch Verwendung von FinalizeConnectorHandlerBuilder
überschrieben werden, um eine kundenspezifische Implementierung der FinalizeConnectorCallback
-Schnittstelle bereitzustellen.
Aktualisierung des Status¶
Wenn alle oben genannten Phasen erfolgreich abgeschlossen sind, wird der interne Status des Konnektors wie folgt aktualisiert:
{
"status": "STARTED",
"configurationStatus": "FINALIZED"
}
Eine umfassende Abbildung der Zustandsübergänge finden Sie unter Konnektorablauf.
Antwort¶
Erfolgreiche Antwort¶
Wenn die Prozedur erfolgreich abgeschlossen wird, gibt sie eine Antwort von der Prozedur FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL
zurück: Wir empfehlen die Verwendung des folgenden Formats:
{ "response_code": "OK" }
Fehlerantwort¶
Im Falle eines Fehlers erfolgt die Antwort in folgendem Format:
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
Mögliche Fehlercodes:
INVALID_CONNECTOR_STATUS
– Die Prozedur wurde auf einem bereits konfigurierten Konnektor aufgerufen.INVALID_CONNECTOR_CONFIGURATION_STATUS
– Die Prozedur wurde aufgerufen, alsCONFIGURATION_STATUS
anders war alsCONNECTED
.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)INTERNAL_ERROR
– Es gibt intern eine Problem; die Meldung sollte beschreibend sein.