1
votes

Procédure de gestion des exceptions dans Azure Data Factory V2

Puis-je appliquer la gestion des exceptions dans Azure Data Factory si un pipeline ou une activité échoue et comment puis-je implémenter la gestion des exceptions par certaines méthodologies TRY / CATCH?


0 commentaires

3 Réponses :


0
votes

Je développe une usine de données en utilisant le code C # .NET et c'est ainsi que je l'implémente et cela fonctionne pour moi, tout est emballé en un seul essai. dans le bloc catch, vous pouvez envoyer une trace vers le fichier journal , la base de données ou tout autre service

 entrez la description de l'image ici


0 commentaires

2
votes

En supposant que vous suivez la route sans code (et non l'activité personnalisée C #), vous utilisez généralement les résultats de réussite, d'erreur et d'achèvement (succès ou échec) d'une activité. Acheminez la sortie de réussite vers les activités qui s'exécutent normalement. Acheminez la sortie d'erreur vers les activités que vous souhaitez exécuter en cas d'échec.

Ce n'est pas un paradigme try / catch / finally, mais vous pouvez faire la plupart de ce que vous voulez.

Quelques choses à essayer

Si vous acheminez deux sorties vers une entrée, cette activité n'est exécutée que comme un "et" logique de ses entrées, ce qui peut être utile.

c'est-à-dire si vous avez activité1, activité2 et activité3 et activité4.

Acheminer la sortie d'achèvement de l'activité1 vers l'activité2 et la sortie réussite de l'activité2 vers l'activité3.
Ensuite, acheminez la sortie échec de l'activité1 vers l'entrée de l'activité3.
Ensuite, acheminez la sortie succès de l'activité1 vers l'activité4. Cela met en place le flux suivant

  • Si l'activité1 réussit, l'activité2 et 4 sont exécutées en parallèle.
  • si l'activité1 échoue, l'activité2 et 3 sont exécutées dans l'ordre.

L'activité 2 peut être utilisée pour le nettoyage car elle est exécutée pour les deux conditions (ce qui peut aider à implémenter un "enfin" mais pas tout à fait la même chose).

L'activité3 est similaire mais pas la même chose qu'une "capture" - elle ne s'exécute que lorsque l'activité1 échoue et que l'activité2 réussit.

Activity4 est exécuté uniquement en cas de succès de activity1 (comme le reste d'un bloc try).

Il existe de nombreuses combinaisons logiques que vous pouvez utiliser pour obtenir différents effets.

Attention sur les délais d'expiration et les annulations, ceux-ci ne sont pas traités comme des "erreurs" et n'ont pas leur propre routage de sortie.


0 commentaires

0
votes

Ce problème est résolu par " Dépendance de l'activité ".

La dépendance des activités définit la manière dont les activités ultérieures dépendent activités précédentes, déterminer la condition de poursuivre ou non exécuter la tâche suivante. Une activité peut dépendre d'un ou de plusieurs activités précédentes avec différentes conditions de dépendance.

Les différentes conditions de dépendance sont: Réussite, Échec, Ignoré, Terminé.


0 commentaires