Activer la ressource

L’activation d’une ressource permet de démarrer l’ingestion de données pour une ressource donnée. La procédure PUBLIC.ENABLE_RESOURCE est le point d’entrée de l’UI ou une feuille de calcul pour activer une ressource. Cela peut être utilisé après qu’une ressource a été désactivée ou lorsqu’une ressource a été créée comme désactivée et qu’il est maintenant nécessaire de l’activer.

L’appel de cette procédure nécessite que l’utilisateur ait été affecté au rôle d’application ADMIN. Les phases sont les suivantes :

  1. Validation initiale

  2. Validation personnalisée

  3. Logique personnalisée avant l’activation d’une ressource

  4. Marquer une définition d’ingestion de ressources comme activée et créer de nouveaux processus d’ingestion

  5. Logique personnalisée après la création d’une ressource

Validation initiale

La validation initiale est effectuée au tout début du processus d’activation des ressources et vérifie :

  • si une ressource avec l’identifiant donné existe

  • si une ressource avec l’identifiant donné est déjà activée

Lorsqu’une ressource est déjà activée, rien n’est fait et une réponse de réussite est renvoyée.

Validation personnalisée

La validation personnalisée est exécutée après la validation initiale et est conçue pour prendre en charge une logique personnalisée spécifique au connecteur. Par exemple, elle peut être utilisée pour vérifier qu’une ressource donnée existe toujours dans un système source.

Par défaut, elle appelle PUBLIC.ENABLE_RESOURCE_VALIDATE(resource_ingestion_definition_id), qui renvoie 'response_code': 'OK'. Elle peut être remplacée par le script SQL ou en utilisant un EnableResourceHandlerBuilder pour fournir une implémentation personnalisée de l’interface EnableResourceValidator.

Si la validation personnalisée renvoie une erreur, les étapes suivantes ne seront pas exécutées et la réponse d’erreur fournie sera renvoyée par la procédure ENABLE_RESOURCE.

Logique personnalisée avant l’activation d’une ressource

Une logique personnalisée peut être spécifiée et exécutée avant l’activation d’une ressource.

Par défaut, elle appelle PUBLIC.PRE_ENABLE_RESOURCE(resource_ingestion_definition_id VARCHAR), qui renvoie 'response_code': 'OK'. Elle peut être remplacée par le script SQL ou en utilisant un EnableResourceHandlerBuilder pour fournir une implémentation personnalisée de l’interface PreEnableResourceCallback.

Si la logique personnalisée renvoie une erreur, les étapes suivantes ne seront pas exécutées et une réponse d’erreur sera renvoyée par la procédure ENABLE_RESOURCE.

Marquer une définition d’ingestion de ressources comme activée et créer de nouveaux processus d’ingestion

Au cours de cette étape, l’indicateur enabled de la définition de l’ingestion des ressources devient true et ensuite un nouveau processus d’ingestion est créé pour chaque configuration d’ingestion. Les processus d’ingestion sont créés avec le statut SCHEDULED qui signifie que l’ingestion commencera un peu plus tard. Lorsqu’un nouveau processus d’ingestion est créé, la colonne de métadonnées est héritée du dernier processus terminé avec l’ID de configuration d’ingestion donné.

Logique personnalisée après l’activation d’une ressource

Une logique personnalisée peut être définie pour être exécutée après l’activation d’une ressource.

Par défaut, elle appelle PUBLIC.POST_ENABLE_RESOURCE(resource_ingestion_definition_id VARCHAR), qui renvoie 'response_code': 'OK'. Elle peut être remplacée par le script SQL ou en utilisant un EnableResourceHandlerBuilder pour fournir une implémentation personnalisée de l’interface PostEnableResourceCallback.

Si la logique personnalisée renvoie une erreur, la réponse d’erreur donnée sera renvoyée par la procédure ENABLE_RESOURCE mais le processus marquant une définition d’ingestion de ressources comme activée et créant de nouveaux processus d’ingestion ne sera pas annulé.

Réponse

Réponse aboutie

En cas de réussite de la procédure, une réponse ressemblant à celle ci-dessous est renvoyée :

{
  "response_code": "OK"
}
Copy

Erreur de réponse

En cas d’erreur de procédure, une réponse ressemblant à celle ci-dessous est renvoyée :

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

Les codes d’erreur possibles sont les suivants :

  • INVALID_INPUT - La ressource avec l’ID de définition d’ingestion de ressources donné n’existe pas.

  • ENABLE_RESOURCE_ERROR - Quelque chose d’inattendu s’est produit lors de la mise à jour de la définition d’ingestion des ressources ou lors de la création des processus d’ingestion. Toutes les modifications sont annulées.