Finaliser la configuration

Finaliser la configuration est la dernière étape de l’assistant, elle vient directement après connection configuration. Cette étape permet à l’utilisateur de fournir toute configuration personnalisée qui n’a pas été incluse lors des étapes précédentes de la configuration. En outre, elle peut être utilisée pour apporter les touches finales à la configuration, comme la création de la base de données réceptrice, le démarrage de Task Reactor, etc. Le point d’entrée de cette phase est une procédure appelée PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION(CUSTOM_CONFIGURATION VARIANT). Il peut être personnalisé en le remplaçant en SQL ou en utilisant FinalizeConnectorHandlerBuilder. Par défaut, la custom_configuration fourni ne persiste PAS dans la base de données. Si la conception l’exige, la configuration doit être sauvegardée dans l’une des méthodes d’extension (très probablement dans FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL).

Pour lancer cette procédure, l’utilisateur doit avoir le rôle d’application ADMIN.

L’étape de finalisation de la configuration se compose de plusieurs phases. Certaines d’entre elles sont entièrement personnalisables et, par défaut, n’ont pas d’impact. Les phases sont les suivantes :

  1. Validation du statut

  2. Validation des entrées

  3. Validation de la source

  4. Rappel interne

  5. Mise à jour du statut

Exigences

La finalisation de la configuration nécessite au moins l’exécution des fichiers sql suivants lors de l’installation de l’application native :

  • core.sql

  • configuration/finalize_configuration.sql

  • Recommandé : configuration/app_config.sql

Validation du statut

Pour effectuer la finalisation du connecteur, le statut interne du connecteur doit être CONFIGURING, avec le statut de configuration CONNECTED.

Cette validation ne peut pas être écrasée par l’utilisation de FinalizeConnectorHandlerBuilder ni par l’écrasement des procédures stockées. Toutefois, il est possible d’implémenter un gestionnaire (handler) personnalisé, qui n’aura pas ce type de validation.

Validation des entrées

L’entrée doit être une Variant valide. En outre, il existe des validations personnalisées qui doivent être satisfaites. Une procédure stockée, PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_VALIDATE(CUSTOM_CONFIGURATION VARIANT), peut être personnalisée par l’utilisateur. Par défaut, cette procédure renvoie simplement 'response_code': 'OK'. Personnalisez-le en remplaçant SQL ou en utilisant FinalizeConnectorHandlerBuilder et en fournissant une implémentation personnalisée de l’interface FinalizeConnectorValidator.

Validation de la source

Une fois les validations passées, la procédure PUBLIC.VALIDATE_SOURCE(CUSTOM_CONFIGURATION VARIANT) se connecte à une source externe. Dans certains cas, cette procédure peut être la même que la procédure TEST_CONNECTION exécutée lors de la configuration de la connexion. Cependant, TEST_CONNECTION est conçu pour vérifier simplement la connectivité de base, tandis que VALIDATE_SOURCE est une procédure qui peut nécessiter une configuration supplémentaire. Par exemple, vérifier les autorisations d’accès à une ressource spécifique dans le système source. L’implémentation par défaut de VALIDATE_SOURCE renvoie 'response_code': 'OK'. Cette implémentation par défaut peut être remplacée par du SQL ou par l’implémentation de l’interface SourceValidator à l’aide de FinalizeConnectorHandlerBuilder.

Rappel interne

Le rappel interne est une étape personnalisable qui appelle PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL(CUSTOM_CONFIGURATION VARIANT), qui renvoie 'response_code': 'OK' par défaut. Cette procédure permet à l’utilisateur d’effectuer toute configuration supplémentaire nécessaire au connecteur. Par exemple, enregistrer le fournisseur custom_configuration dans la table STATE.CONNECTOR_CONFIGURATION. Il peut être remplacé par le script SQL ou en utilisant un FinalizeConnectorHandlerBuilder pour fournir une implémentation personnalisée de l’interface FinalizeConnectorCallback.

Mise à jour du statut

Lorsque toutes les phases ci-dessus sont achevées avec succès, le statut interne du connecteur est mis à jour :

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

Pour le diagramme complet des transitions d’état, voir Débit du connecteur.

Réponse

Réponse aboutie

Si la procédure se termine avec succès, elle renvoie une réponse de la procédure FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL. Nous vous recommandons d’utiliser le format suivant :

{
  "response_code": "OK"
}
Copy

Erreur de réponse

En cas d’erreur, la réponse suivra le format ci-dessous :

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

Codes d’erreurs possibles :

  • INVALID_CONNECTOR_STATUS - La procédure a été appelée sur un connecteur déjà configuré

  • INVALID_CONNECTOR_CONFIGURATION_STATUS - La procédure est appelée lorsque CONFIGURATION_STATUS est différent de CONNECTED

  • CONNECTOR_STATUS_NOT_FOUND - L’enregistrement du statut du connecteur n’existe pas dans la base de données (indépendamment de la contribution de l’utilisateur à cette zone de préparation - une erreur interne)

  • INTERNAL_ERROR - Quelque chose s’est mal passé en interne, le message doit être descriptif