Azure Data Factory (ADF) est un service d'intégration de données entièrement géré par Microsoft, basé sur le cloud. Il permet aux organisations de créer, de programmer et d'orchestrer des flux de données à l'échelle, en déplaçant et en transformant des données à travers diverses sources et destinations. Les deux éléments fondamentaux de l'ADF sont pipelines[ et triggers[. Pipelines définissent le travail – la séquence d'activités qui déplacent, traitent ou analysent des données. Triggers définissent quand cela se produit – que ce soit sur un calendrier récurrent, en réponse à des événements externes ou lors de fenêtres temporelles spécifiques. Ensemble, ils forment l'épine dorsale des pipelines de données automatisés et prêts à la production.

Comprendre les pipelines de l'usine de données Azure

Qu'est-ce que les pipelines?

Les activités peuvent être simples, comme la copie de données depuis Azure Blob Storage vers Azure SQL Database, ou complexes, comme l'exécution d'un carnet Databricks, l'exécution d'une procédure SQL stockée, ou l'appel d'une API REST personnalisée. Les pipelines permettent de définir le flux d'exécution, y compris les branchements conditionnels, les boucles et le traitement parallèle. Chaque pipeline peut avoir une ou plusieurs activités, et les activités peuvent être connectées via flow de contrôle[, par exemple, «On Success», «On Fault», ou «Skip». Cela permet de construire une logique sophistiquée et ramifiée sans écrire de code.

Types d'activités clés

Azure Data Factory classe les activités en trois groupes principaux :

  • Activités de mouvement des données – Ces données sont copiées entre les data stores supportés. L'activité principale est le , qui prend en charge plus de 90 connecteurs intégrés (par exemple, Amazon S3, Google BigQuery, Snowflake, SAP HANA).
  • Activités de transformation des données[ – Ces données transforment en utilisant des ressources de calcul. Exemples : HDInsight Hive[, Azure Databricks (Python, Scala ou R), Procédure de stockage, et SSIS Integration Runtime.
  • Activités de contrôle – Ces derniers orchestrent le flux de pipeline. Exemples sont (boucle sur une collection), Si la condition (branchage), [Wait (exécution de la pause), Exécuter le pipeline[ (appeler un autre pipeline), et Activités de validation (vérifier l'existence du fichier).

En combinant ces activités, vous pouvez modéliser presque n'importe quel flux de travail d'intégration de données – de l'ingestion de données simples lac à des emplois ETL multi-étapes avec la manipulation d'erreurs et les récupérations.

Dépendances d'activité et exécution des pipelines

Les activités à l'intérieur d'un pipeline s'exécutent en fonction de leurs dépendances. Par défaut, les activités s'exécutent en séquence. Pour exécuter les activités en parallèle, vous pouvez omettre les dépendances. Une fonctionnalité puissante est la capacité d'utiliser des expressions et paramètres dynamiques. Par exemple, vous pouvez passer un nom de dataset, un paramètre date ou une chaîne de connexion en tant que variable, rendant les pipelines réutilisables dans les environnements.

Déclencheurs Azure Data Factory : Exécution programmée et conduite d'événements

Alors que les pipelines définissent ce que à faire, les déclencheurs définissent [quand à faire. Les déclencheurs dans ADF sont responsables du démarrage automatique des pipelines. Il y a trois types de déclencheurs de base, chacun adapté à différents modèles d'automatisation.

Déclencheurs de calendrier

Les déclencheurs horaires exécutent des pipelines sur un calendrier fixe – par exemple, toutes les 15 minutes, toutes les heures en haut de l'heure ou tous les jours à 3h00. Vous configurez la récurrence en utilisant une expression cron ou un simple intervalle (minutes, heures, jours, semaines, mois). Les déclencheurs horaires prennent également en charge les options avancées comme l'heure de début, l'heure de fin et le fuseau horaire.

Déclencheurs d'événements

Les déclencheurs d'événements répondent à des événements externes, le plus souvent à partir de Azure Blob Storage ou Azure Data Lake Storage Gen2. Par exemple, vous pouvez créer un déclencheur qui s'allume lorsqu'un nouveau fichier arrive dans un conteneur spécifique, ou lorsqu'un fichier est mis à jour. ADF prend en charge deux catégories de déclencheurs d'événements:

  • Storage Event Triggers – Actived by blob stockage events (c.-à-d. BlobCreated, BlobSupprimé). Vous pouvez filtrer les événements par le préfixe de nom blob, le suffixe et le chemin. Ceci est largement utilisé pour les modèles d'ingestion en temps réel, comme le traitement des fichiers CSV entrants à partir d'un système de vente.
  • Custom Event Triggers – Basé sur des sujets personnalisés Azure Event Grid. Cela vous permet de tirer des pipelines en réponse à tout événement spécifique à domaine, comme une formation de modèle d'apprentissage automatique terminée, une action utilisateur, ou un changement dans un système tiers.

Les déclencheurs d'événements ne fonctionnent pas selon un calendrier fixe, mais seulement lorsque l'événement défini se produit, ce qui les rend à la fois rentables et opportuns.

Déclencheurs de fenêtres à trébucher

Ce type de déclencheur se situe entre les déclencheurs d'agenda et d'événement. Un déclencheur de fenêtre de trébuchage s'exécute sur une fréquence fixe mais fournit également la gestion de l'état—il se souvient quelles fenêtres ont déjà été traitées. Par exemple, vous pouvez définir un déclencheur de fenêtre de trébuchage pour fonctionner toutes les heures, et il déclenchera exactement au début de chaque fenêtre (p. ex. 00:00–01:00, 01:00–02:00). Chaque fenêtre est indépendante, et le déclencheur assure exactement une fois le traitement sémantique.

Création et gestion des déclencheurs

Les déclencheurs peuvent être créés et gérés par plusieurs interfaces :

  • Azure Portal (UI):[ La méthode la plus simple pour les configurations ponctuelles. Vous pouvez définir un déclencheur, le tester et l'associer à un ou plusieurs pipelines. Le portail fournit une interface visuelle pour configurer la récurrence, les filtres d'événements et les paramètres.
  • Azure CLI ou PowerShell: Convient pour le script et l'intégration DevOps. Par exemple, vous pouvez utiliser le cmdlet pour créer un programme de déclenchement.
  • ARM Templates (Azure Resource Manager):[ L'approche recommandée pour l'infrastructure comme code (IaC). Vous pouvez définir les déclencheurs comme des ressources JSON à l'intérieur d'un modèle ARM et les déployer via Azure DevOps ou GitHub Actions.
  • Rest API:[ Pour l'automatisation avancée ou lors de l'intégration avec des systèmes d'orchestration externes, vous pouvez appeler l'API ADF REST directement.

Un point critique : un déclencheur doit être explicitement associé à un pipeline avant de pouvoir démarrer. Vous pouvez associer un déclencheur unique à plusieurs pipelines ou un pipeline unique à plusieurs déclencheurs, selon votre flux de travail.

Intégration avancée du déclencheur et du pipeline

Dépendances et chaînes de déclenchement

Dans les paysages de données complexes, vous pouvez avoir besoin d'un pipeline pour courir après un autre, ou d'un déclencheur pour attendre un événement spécifique avant de commencer. Azure Data Factory prend en charge les pipelines en chaîne en utilisant le Exécute Pipeline Activity[ – une activité de contrôle à l'intérieur d'un pipeline parent qui exécute un pipeline pour enfants de manière synchrone ou asynchrone. Pour les dépendances externes entre les déclencheurs, vous pouvez combiner les déclencheurs avec des modèles basés sur les événements.

Intégration avec le suivi Azure et les alertes

Azure Data Factory s'intègre profondément à Azure Monitor et Log Analytics[. Chaque événement de pipeline, d'activité et de déclenchement est connecté aux journaux de diagnostic d'ADF=1. Vous pouvez diffuser ces journaux dans Log Analytics et créer des tableaux de bord, des requêtes personnalisées et des règles d'alerte. Par exemple, vous pouvez configurer une alerte qui déclenche un courriel ou un webhook si un pipeline échoue plus de trois fois dans une fenêtre de 15 minutes. Vous pouvez également utiliser ADF="s intégré Alerts et Metrics lame dans le portail pour configurer rapidement les notifications de pannes de pipeline ou de déclenchement de fenêtres manquées.

Avantages des flux de travail de données automatiques avec ADF

L'utilisation de déclencheurs et de pipelines Azure Data Factory pour automatiser vos flux de données offre des avantages mesurables :

  • Efficacité opérationnelle – Les transferts manuels de fichiers et les scripts programmés sont remplacés par des pipelines gérés sans serveur.
  • Fiabilité et cohérence[ – ADF résout automatiquement les activités ratées, respecte les délais et enregistre chaque étape. Une fois qu'un pipeline est conçu et testé, il fonctionne sans dérive.
  • Scalabilité – ADF peut gérer les petaoctets de données et des milliers de pipelines par jour. Le calcul sous-jacent (intégration Azure Runtime) balance de façon élastique, donc vous n'avez pas besoin de fournir des serveurs.
  • Cost Control[ – Vous payez seulement pour le calcul consommé par les activités. Les déclencheurs d'événements et les déclencheurs de fenêtres de chute réduisent les déchets en exécutant seulement lorsque nécessaire. Vous pouvez également fixer des seuils pour arrêter les pipelines coûteux s'ils dépassent un budget.
  • Observabilité de bout en bout[ – Avec les journaux de diagnostic, la surveillance et l'alerte, vous pouvez détecter et résoudre les défaillances avant qu'elles n'affectent les consommateurs en aval.

Meilleures pratiques pour les déclencheurs et les pipelines

Pour tirer le meilleur parti des déclencheurs et des pipelines de FDA dans un environnement de production, suivez ces pratiques exemplaires :

  • Conception pour la modularité et la réutilisation. Découper les grands pipelines en pipelines plus petits et ciblés (p. ex., un pour l'ingestion, un pour le nettoyage, un pour le chargement).
  • Utilisez soigneusement les dépendances des déclencheurs Pour les charges de travail qui nécessitent une exécution séquentielle stricte, préférez les chaînes via l'activité Execute Pipeline plutôt que de compter sur des marqueurs d'événements externes.
  • Méthode d'erreur robuste à l'intérieur de chaque pipeline, ajouter Si les activités de condition permettent de vérifier le succès ou l'échec. Lors d'une défaillance, enregistrer l'erreur et envoyer une alerte. Utilisez la dépendance -Sur l'échec pour déclencher un pipeline de réhabilitation (p. ex., renvoyez le fichier, avisez l'équipe).
  • Parameterize ally Utilisez les paramètres de pipeline pour les chemins de fichiers, les chaînes de connexion ou les intervalles de programmation. Évitez les valeurs de codage dur. Cela vous permet de promouvoir le même artefact dans les environnements dev, test et production.
  • La version contrôle vos pipelines. Exportez vos pipelines et les déclencheurs comme modèles ARM et stockez-les dans un dépôt Git (Azure Repos ou GitHub). Utilisez l'intégration Git native d'ADF. Pour relier un dépôt à votre usine, vous pouvez collaborer, consulter des codes et faire des retours.
  • ]]]]]][FLT:]][FLT:]][FLT:][FLT:]][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][Filtres de diagnostic] et les envoyer à Log Analytics.
  • Les déclencheurs de test dans un environnement non-production d'abord. Validez toujours qu'un déclencheur s'allume au bon moment ou sur l'événement correct avant de l'autoriser à produire. Une erreur courante est de laisser un déclencheur de calendrier actif pendant le développement du pipeline, provoquant des écoulements inattendus.
  • Utilisez le filtrage d'événements pour réduire le bruit. Lors de la création des déclencheurs d'événements, spécifiez les préfixes, les suffixes et les chemins du nom de fichier pour éviter de tirer sur des événements blob non pertinents.

Cas d'utilisation courante

Charges supplémentaires de données

Un déclencheur de fenêtre tournant toutes les 15 minutes peut exécuter un pipeline qui copie des lignes où l'horodatage -dernier modifié - est situé dans cette fenêtre. Le pipeline peut ensuite amplifier les données dans Azure Synapse Analytics ou Azure SQL Database.

Ingestion de fichiers en temps réel

Lorsqu'un partenaire télécharge un fichier CSV dans un conteneur de stockage Azure Blob surveillé, un déclencheur d'événement démarre un pipeline qui valide le schéma, déplace le fichier vers un dossier -processing-, exécute un flux de données pour transformer les données, et enfin le charge dans une base de données SQL. Ce modèle est commun dans les systèmes de vente au détail et de logistique.

Traitement des lots de nuit

Un déclencheur de calendrier réglé à 2:00 AM UTC exécute une série de pipelines: d'abord, copiez les données de ventes supplémentaires à partir de SQL Server sur site à Azure Blob; ensuite, exécutez une tâche HDInsight Hive pour agréger les données; troisièmement, exécutez une procédure stockée dans Azure SQL Database pour mettre à jour les tables de rapports.

L'orchestration hybride des données

Pour les organisations ayant des sources de données sur site, ADF comble l'écart en utilisant le programme d'intégration auto-organisé. Un déclencheur de calendrier peut exécuter un pipeline qui copie les données d'un serveur de fichiers local à Azure, puis déclenche un carnet de données Azure Databricks pour l'analyse avancée.

Surveillance et dépannage

Utilisation de Azure Monitor et Log Analytics

Pour obtenir des informations approfondies sur l'exécution de déclencheurs et de pipelines, configurer les paramètres de diagnostic sur votre Data Factory pour envoyer des journaux dans un espace de travail Log Analytics. Une fois là, vous pouvez exécuter des requêtes Kusto comme:

ADFActivityRun
| where ActivityName == 'Copy data1' and Status == 'Failed'
| project TimeGenerated, PipelineName, ActivityName, ErrorMessage

Configurez des règles d'alerte pour vous informer lorsqu'un pipeline échoue ou qu'un déclencheur ne tire pas dans une fenêtre attendue. Vous pouvez également visualiser l'historique des opérations en utilisant Azure Workbooks ou Power BI.

Questions et solutions communes

  • Trigger non en cours de lancement: Vérifier l'état du déclencheur (démarré/arrêté). Vérifier que le pipeline associé est publié et dans un état actif. Pour les déclencheurs d'événements, confirmer que le sujet du compte de stockage ou de la grille d'événements est correctement configuré et que l'abonnement à l'événement n'est pas filtré.
  • Pipeline pend ou times out:[ Les activités ont un délai par défaut de 7 jours. Définissez des délais explicites pour les pipelines qui devraient échouer rapidement. Utilisez l'activité -Validation pour vérifier l'existence du fichier avant de procéder.
  • Inadéquation du paramètre:[ Si un déclencheur passe les paramètres du pipeline qui ne correspondent pas à la définition du pipeline, l'exécution échouera. Assurez-vous que les noms et types de paramètres sont cohérents. Utilisez des valeurs par défaut dans le pipeline pour permettre la flexibilité.
  • Problèmes de devises:[ Par défaut, un pipeline peut exécuter jusqu'à 100 instances concurrentes. Si vous avez un déclencheur de fenêtre de chute avec des fenêtres qui se chevauchent, définissez la max de la proximité[ sur le déclencheur à 1 pour faire appliquer le traitement séquentiel.

Conclusion

En comprenant les différences entre les déclencheurs de calendrier, d'événement et de fenêtre de trébuchage, et en appliquant la conception modulaire de pipelines et des pratiques de surveillance robustes, les ingénieurs en données peuvent construire des solutions d'intégration de données fiables, rentables et durables. Que vous gériez des charges supplémentaires, des ingestions d'événements en temps réel ou des lots complexes ETL, ADF vous donne les outils pour automatiser avec confiance. Pour plus de détails, explorez la documentation officielle de pipeline[, la vue d'ensemble des types de trigger et le guide de surveillance[.