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 :

  1. Validation initiale

  2. Logique personnalisée avant la désactivation d’une ressource

  3. Fin des processus d’ingestion actifs et réglage de la définition d’ingestion des ressources comme désactivée

  4. 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"
}
Copy

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>"
}
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.

  • 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.