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 :
Validation initiale
Validation personnalisée
Logique personnalisée avant l’activation d’une ressource
Marquer une définition d’ingestion de ressources comme activée et créer de nouveaux processus d’ingestion
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" }
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>" }
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.