Désactiver la ressource¶
La désactivation d’une ressource permet d’arrêter l’ingestion de données pour une ressource donnée. La procédure PUBLIC.DISABLE_RESOURCE
est le point d’entrée de l’UI ou une feuille de calcul pour désactiver une ressource.
L’appel de cette procédure nécessite que l’utilisateur possède le rôle d’application ADMIN
.
Le processus de désactivation des ressources comprend plusieurs phases. Plusieurs d’entre eux sont personnalisables mais incluent des valeurs par défaut raisonnables. Les phases sont les suivantes :
Validation initiale
Logique personnalisée avant la désactivation d’une ressource
Fin des processus d’ingestion actifs et réglage de la définition d’ingestion des ressources comme désactivée
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 de désactivation des ressources et vérifie :
si une ressource avec l’identifiant donné existe
si une ressource avec un identifiant donné est déjà désactivée
Lorsqu’une ressource a été précédemment désactivée, rien n’est fait et une réponse de réussite est renvoyée.
Logique personnalisée avant la désactivation d’une ressource¶
Cette étape peut être utilisée pour implémenter une logique personnalisée avant qu’une ressource ne soit désactivée.
Par défaut, elle appelle PUBLIC.PRE_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
, qui renvoie 'response_code': 'OK'
. Elle peut être remplacée par le script SQL ou en utilisant un DisableResourceHandlerBuilder
pour fournir une implémentation personnalisée de l’interface PreDisableResourceCallback
.
Si la logique 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 DISABLE_RESOURCE
.
Fin des processus d’ingestion actifs et réglage de la définition d’ingestion des ressources comme désactivée¶
Au cours de cette étape, tous les processus d’ingestion avec l’état SCHEDULED
ou IN_PROGRESS
sont terminés et la prochaine itération d’ingestion ne sera pas exécutée pour une ressource donnée. Ensuite, l’indicateur enabled
de la définition de l’ingestion de la ressource devient false
.
Note
L’implémentation du processus de désactivation des ressources n’arrête pas l’exécution actuelle de l’ingestion. Cela empêche uniquement l’exécution de l’itération suivante de l’ingestion. Si l’arrêt d’une ingestion en cours est nécessaire, vous devez mettre en œuvre la logique personnalisée après la désactivation d’une ressource.
Logique personnalisée après la désactivation d’une ressource¶
Elle peut être utilisée pour implémenter une logique personnalisée après la désactivation d’une ressource. Par exemple, elle peut être utilisée pour arrêter une ingestion en cours pour une ressource donnée.
Par défaut, elle appelle PUBLIC.POST_DISABLE_RESOURCE(resource_ingestion_definition_id VARCHAR)
, qui renvoie 'response_code': 'OK'
. Elle peut être remplacée par le script SQL ou en utilisant un DisableResourceHandlerBuilder
pour fournir une implémentation personnalisée de l’interface PostDisableResourceCallback
.
Si la logique 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 DISABLE_RESOURCE
.
Réponse¶
Réponse aboutie¶
En cas de réussite de la procédure, une réponse semblable à celle ci-dessous est renvoyée :
{ "response_code": "OK" }
Erreur de réponse¶
En cas d’erreur de procédure, une réponse semblable à 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.DISABLE_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 fin des processus d’ingestion. Toutes les modifications sont annulées.