Exécuter un DAG Apache Airflow dans Cloud Composer 2
Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Ce guide de démarrage rapide explique comment créer un environnement Cloud Composer et exécuter un DAG Apache Airflow dans Cloud Composer 2.
Si vous êtes un nouvel utilisateur d'Airflow, consultez le tutoriel sur les concepts Airflow dans la documentation Apache Airflow pour en savoir plus sur les concepts, les objets et leur utilisation.
Si vous préférez utiliser la Google Cloud CLI, consultez Exécuter un DAG Apache Airflow dans Cloud Composer (Google Cloud CLI).
Si vous souhaitez créer un environnement à l'aide de Terraform, consultez la section Créer des environnements (Terraform).
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Composer API.
-
Pour obtenir les autorisations nécessaires pour suivre ce guide de démarrage rapide, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Pour afficher, créer et gérer l'environnement Cloud Composer :
-
Administrateur de l'environnement et des objets Storage (
roles/composer.environmentAndStorageObjectAdmin
) -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
)
-
Administrateur de l'environnement et des objets Storage (
-
Pour afficher les journaux :
Lecteur de journaux (
roles/logging.viewer
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
-
Pour afficher, créer et gérer l'environnement Cloud Composer :
Créer le compte de service d'un environnement
Lorsque vous créez un environnement, vous spécifiez un compte de service. Ce compte de service est appelé compte de service de l'environnement. Votre environnement utilise ce compte de service pour effectuer la plupart des opérations.
Le compte de service de votre environnement n'est pas un compte utilisateur. Un compte de service est un type particulier de compte utilisé par une application ou une instance de machine virtuelle (VM), et non par une personne.
Pour créer un compte de service pour votre environnement:
Créez un compte de service, comme décrit dans la documentation Identity and Access Management.
Attribuez-lui un rôle, comme décrit dans la documentation sur la gestion de l'authentification et des accès. Le rôle requis est Nœud de calcul Composer (
composer.worker
).
Créez un environnement
Dans la console Google Cloud, accédez à la page Créer un environnement.
Accéder à la page "Créer un environnement"
S'il s'agit du premier environnement de votre projet, la section Accorder les autorisations requises pour le compte de service Cloud Composer s'affiche.
Vous ajoutez le compte d'agent de service Cloud Composer en tant que nouveau compte principal au compte de service de votre environnement et lui attribuez le rôle Extension de l'agent de service de l'API Cloud Composer v2.
Vérifiez que vous utilisez le compte de service prévu pour votre environnement, puis cliquez sur Accorder.
Dans le champ Nom, saisissez
example-environment
.Dans la liste déroulante Emplacement, sélectionnez une région pour l'environnement Cloud Composer. Ce guide utilise la région
us-central1
.Pour les autres options de configuration de l'environnement, utilisez les valeurs par défaut fournies.
Cliquez sur Créer et attendez que l'environnement soit créé.
Lorsque vous avez terminé, une coche verte s'affiche à côté du nom de l'environnement.
Créer un fichier DAG
Un DAG Airflow est un ensemble de tâches organisées que vous souhaitez programmer et exécuter. Les DAG sont définis dans des fichiers Python standards.
Ce guide utilise un exemple de DAG Airflow défini dans le fichier quickstart.py
.
Le code Python de ce fichier effectue les opérations suivantes:
- Il crée un DAG,
composer_sample_dag
, Ce DAG s'exécute tous les jours. - Il exécute une tâche,
print_dag_run_conf
, qui imprime la configuration de l'exécution du DAG à l'aide de l'opérateur bash.
Enregistrez une copie du fichier quickstart.py
sur votre ordinateur local:
Importez le fichier DAG dans le bucket de votre environnement.
Chaque environnement Cloud Composer est associé à un bucket Cloud Storage. Airflow dans Cloud Composer ne programme que les DAG qui se trouvent dans le dossier /dags
de ce bucket.
Pour programmer votre DAG, importez le fichier quickstart.py
à partir de votre ordinateur local dans le dossier /dags
de votre environnement:
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement,
example-environment
. La page Détails de l'environnement s'ouvre.Cliquez sur Ouvrir le dossier des DAG. La page Informations sur le bucket s'ouvre.
Cliquez sur Importer des fichiers, puis sélectionnez votre copie de
quickstart.py
.Pour importer le fichier, cliquez sur Ouvrir.
Afficher le DAG
Une fois le fichier DAG importé, Airflow effectue les opérations suivantes:
- Analyse le fichier DAG que vous avez importé. L'affichage du DAG dans Airflow peut prendre quelques minutes.
- Ajoute le DAG à la liste des DAG disponibles.
- Exécute le DAG selon le calendrier que vous avez fourni dans le fichier DAG.
Vérifiez que votre DAG est traité sans erreur et qu'il est disponible dans Airflow en l'affichant dans l'UI DAG. L'UI DAG est l'interface Cloud Composer permettant d'afficher les informations sur les DAG dans la console Google Cloud. Cloud Composer permet également d'accéder à l'interface utilisateur d'Airflow, qui est une interface Web Airflow native.
Attendez environ cinq minutes pour laisser Airflow traiter le fichier DAG que vous avez importé précédemment et terminer la première exécution du DAG (expliqué plus loin).
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement,
example-environment
. La page Détails de l'environnement s'ouvre.Accédez à l'onglet DAG.
Vérifiez que le DAG
composer_quickstart
figure dans la liste des DAG.Figure 1 La liste des DAG affiche le DAG composer_quickstart (cliquez pour agrandir)
Afficher les détails de l'exécution du DAG
Une seule exécution d'un DAG est appelée exécution de DAG. Airflow exécute immédiatement une exécution DAG pour l'exemple de DAG, car la date de début du fichier DAG est définie sur hier. De cette manière, Airflow rattrape la planification du DAG spécifié.
L'exemple de DAG contient une tâche, print_dag_run_conf
, qui exécute la commande echo
dans la console. Cette commande affiche des métadonnées sur le DAG (identifiant numérique de l'exécution du DAG).
Dans l'onglet DAG, cliquez sur
composer_quickstart
. L'onglet Exécutions du DAG s'ouvre.Dans la liste des exécutions de DAG, cliquez sur la première entrée.
Figure 2 : Liste des exécutions de DAG pour le DAG composer_quickstart (cliquez pour agrandir) Les détails de l'exécution du DAG s'affichent, avec des informations sur les tâches individuelles de l'exemple de DAG.
Figure 3 Liste des tâches exécutées lors de l'exécution du DAG (cliquez pour agrandir) La section Journaux de l'exécution du DAG répertorie les journaux de toutes les tâches de l'exécution du DAG. Vous pouvez consulter le résultat de la commande
echo
dans les journaux.Figure 4 Journaux de la tâche print_dag_run_conf (cliquez pour agrandir)
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud , procédez comme suit :
Supprimez les ressources utilisées dans ce tutoriel:
Supprimez l'environnement Cloud Composer.
Dans la console Google Cloud, accédez à la page Environnements.
Sélectionnez
example-environment
, puis cliquez sur Supprimer.Attendez que l'environnement soit supprimé.
Supprimez le bucket de votre environnement. La suppression de l'environnement Cloud Composer ne supprime pas son bucket.
Dans la console Google Cloud, accédez à la page Stockage > Navigateur.
Sélectionnez le bucket de l'environnement, puis cliquez sur Supprimer. Par exemple, ce bucket peut être nommé
us-central1-example-environ-c1616fe8-bucket
.
Étape suivante