Orchestration des workflows
Pour demander de l'aide ou envoyer des commentaires concernant cette fonctionnalité, envoyez un e-mail à l'adresse bigquery-workflows-preview-feedback@google.com.
Ce document explique comment orchestrer des workflows, y compris comment planifier des workflows et inspecter les exécutions de workflows planifiées.
Les workflows sont optimisés par Dataform.
Chaque planification de workflow est exécutée par un compte de service Dataform personnalisé, que vous sélectionnez lors de la création de la planification. Pour en savoir plus sur les types de comptes de service dans Dataform, consultez la section À propos des comptes de service dans Dataform.
Les modifications que vous apportez à un workflow sont automatiquement enregistrées, mais ne sont disponibles que pour vous et les utilisateurs auxquels le rôle Administrateur Dataform est attribué pour le projet. Pour mettre à jour la planification avec une nouvelle version du workflow, vous devez déployer le workflow. Le déploiement met à jour la planification pour utiliser votre version actuelle du workflow. Les programmations exécutent toujours la dernière version déployée.
Les planifications des workflows contenant des notebooks utilisent une spécification d'environnement d'exécution par défaut. Lors d'une exécution planifiée d'un workflow contenant des notebooks, BigQuery écrit la sortie du notebook dans le bucket Cloud Storage sélectionné lors de la création de la programmation.
Avant de commencer
Avant de commencer, créez un workflow.
Activer la planification des workflows
Pour planifier des workflows, vous devez attribuer les rôles suivants au compte de service que vous prévoyez d'utiliser pour les planifications de workflows:
- Utilisateur du compte de service (
roles/iam.serviceAccountUser
) - Suivez la procédure décrite à la section Accorder un rôle unique à un compte de service pour ajouter votre compte de service en tant que compte principal à lui-même. En d'autres termes, ajoutez le compte de service en tant que compte principal au même compte de service. Attribuez ensuite le rôle Utilisateur du compte de service à ce compte principal.
Si votre workflow contient des requêtes SQL, vous devez attribuer les rôles suivants au compte de service que vous prévoyez d'utiliser pour les planifications de workflow:
- Utilisateur de job BigQuery (
roles/bigquery.jobUser
) - Suivez la procédure décrite à la section Attribuer un rôle unique à un projet pour attribuer le rôle Utilisateur de job BigQuery à votre compte de service sur les projets à partir desquels vos workflows lisent des données.
- Lecteur de données BigQuery (
roles/bigquery.dataViewer
) - Suivez la procédure décrite à la section Attribuer un rôle unique à un projet pour attribuer le rôle Lecteur de données BigQuery à votre compte de service sur les projets à partir desquels vos workflows lisent des données.
- Éditeur de données BigQuery (
roles/bigquery.dataEditor
) - Suivez la procédure décrite à la section Attribuer un rôle unique à un projet pour attribuer le rôle Éditeur de données BigQuery à votre compte de service sur les projets auxquels vos workflows écrivent des données.
Si votre workflow contient des notebooks, vous devez attribuer les rôles suivants au compte de service que vous prévoyez d'utiliser pour les planifications de workflow:
- Utilisateur de Notebook Executor (
roles/aiplatform.notebookExecutorUser
) - Suivez la procédure décrite à la section Attribuer un rôle unique à un projet pour attribuer le rôle utilisateur Notebook Executor à votre compte de service sur le projet sélectionné.
- Administrateur de l'espace de stockage (
roles/storage.admin
) - Suivez la procédure décrite à la section Ajouter un compte principal à une stratégie au niveau du bucket pour ajouter votre compte de service en tant que compte principal au bucket Cloud Storage que vous prévoyez d'utiliser pour stocker le résultat des notebooks exécutés dans des exécutions de workflow planifiées, et attribuer le rôle Administrateur de l'espace de stockage à ce compte principal.
Vous devez également attribuer le rôle suivant au compte de service Dataform par défaut :
- Créateur de jetons de compte de service (
roles/iam.serviceAccountTokenCreator
) - Suivez la procédure décrite à la section Accorder l'accès à la création de jetons à un compte de service pour ajouter le compte de service Dataform par défaut en tant que compte principal à votre compte de service, et attribuer le rôle Créateur de jetons de compte de service à ce compte principal.
Pour en savoir plus sur les comptes de service dans Dataform, consultez la section À propos des comptes de service dans Dataform.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les workflows, demandez à votre administrateur de vous accorder les rôles IAM suivants:
-
Pour supprimer des workflows :
Administrateur Dataform (
roles/dataform.Admin
) sur le workflow -
Pour créer, modifier, exécuter et supprimer des planifications de workflow :
Administrateur Dataform (
roles/dataform.Admin
) sur le workflow -
Pour afficher et exécuter des workflows :
Lecteur Dataform (
roles/dataform.Viewer
) sur le projet -
Pour afficher les planifications de workflow :
Éditeur Dataform (
roles/dataform.Editor
) sur le projet
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 en savoir plus sur IAM pour Dataform, consultez la section Contrôle des accès avec IAM.
Créer un calendrier de workflow
Pour planifier un workflow, procédez comme suit:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et le dossier Workflows, puis sélectionnez un workflow.
Cliquez sur Schedule (Programmer).
Dans le volet Planifier un workflow, dans le champ Nom de la planification, saisissez un nom pour la planification.
Dans le champ Compte de service, sélectionnez un compte de service.
Si votre workflow contient un notebook, dans le champ Bucket Cloud Storage, cliquez sur Parcourir, puis sélectionnez ou créez un bucket Cloud Storage pour stocker la sortie des notebooks dans votre workflow.
Le compte de service sélectionné doit disposer du rôle IAM "Administrateur de stockage" sur le bucket sélectionné. Pour en savoir plus, consultez la section Activer la planification des workflows.
Dans la section Fréquence de programmation, procédez comme suit :
- Dans le menu déroulant Répétitions, sélectionnez la fréquence d'exécution du workflow programmé.
- Dans le champ À, saisissez l'heure d'exécution du workflow programmé.
- Dans le menu déroulant Fuseau horaire, sélectionnez le fuseau horaire de la programmation.
Cliquez sur Créer la programmation.
Lorsque vous créez la programmation, la version actuelle du workflow est automatiquement déployée. Pour mettre à jour la planification avec une nouvelle version du workflow, déployez le workflow.
La dernière version déployée du workflow s'exécute à l'heure et à la fréquence sélectionnées.
Déployer un workflow
Le déploiement d'un workflow met à jour sa programmation avec la version actuelle du workflow. Les planifications exécutent la dernière version déployée du workflow.
Pour déployer un workflow, procédez comme suit:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et le dossier Workflows, puis sélectionnez un workflow.
Cliquez sur Déployer.
La programmation correspondante est mise à jour avec la version actuelle du workflow. La dernière version déployée du workflow s'exécute à l'heure programmée.
Désactiver une programmation
Pour suspendre les exécutions programmées d'un workflow sélectionné sans supprimer la programmation, vous pouvez la désactiver.
Pour désactiver une programmation pour un workflow sélectionné, procédez comme suit:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et le dossier Workflows, puis sélectionnez un workflow.
Cliquez sur Afficher la programmation.
Dans le tableau Détails de la programmation, sur la ligne État de la programmation, cliquez sur le bouton La programmation est activée.
Activer une programmation
Pour reprendre les exécutions planifiées d'une planification de workflow désactivée, procédez comme suit:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et le dossier Workflows, puis sélectionnez un workflow.
Cliquez sur Afficher la programmation.
Dans le tableau Détails de la programmation, sur la ligne État de la programmation, cliquez sur le bouton La programmation est désactivée.
Exécuter manuellement un workflow déployé
Lorsque vous exécutez manuellement un workflow déployé selon un calendrier sélectionné, BigQuery exécute le workflow déployé une seule fois, indépendamment du calendrier.
Pour exécuter manuellement un workflow déployé, procédez comme suit:
Dans la console Google Cloud, accédez à la page Orchestration.
Cliquez sur le nom de la planification de workflow sélectionnée.
Sur la page Détails de la planification, cliquez sur Exécuter.
Afficher tous les calendriers de workflow
Pour afficher toutes les planifications de workflow de votre projet Google Cloud, procédez comme suit:
Dans la console Google Cloud, accédez à la page Orchestration.
Facultatif: Pour afficher des colonnes supplémentaires avec des informations sur la planification du workflow, cliquez sur
Options d'affichage des colonnes, puis sélectionnez les colonnes et cliquez sur OK.
Afficher les détails de la planification du workflow
Pour afficher les détails d'une planification de workflow sélectionnée, procédez comme suit:
Volet Explorer
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et le dossier Workflows, puis sélectionnez un workflow.
Cliquez sur Afficher la programmation.
Page Orchestration
Dans la console Google Cloud, accédez à la page Orchestration.
Cliquez sur le nom de la planification de workflow sélectionnée.
Afficher les exécutions planifiées précédentes
Pour afficher les exécutions précédentes d'une programmation de workflow sélectionnée, procédez comme suit:
Volet Explorer
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et le dossier Workflows, puis sélectionnez un workflow.
Cliquez sur Exécutions.
Facultatif: Pour actualiser la liste des exécutions précédentes, cliquez sur Actualiser.
Page Orchestration
- Dans la console Google Cloud, accédez à la page Orchestration.
Accéder à la page Orchestration
Cliquez sur le nom du workflow sélectionné.
Sur la page Détails de la planification, dans la section Exécutions précédentes, inspectez les exécutions précédentes.
Facultatif: Pour actualiser la liste des exécutions précédentes, cliquez sur Actualiser.
Modifier la planification d'un workflow
Pour modifier la planification d'un workflow, procédez comme suit:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez votre projet et le dossier Workflows, puis sélectionnez un workflow.
Cliquez sur Afficher la programmation, puis sur Modifier.
Dans la boîte de dialogue Planifier un workflow, modifiez la planification, puis cliquez sur Mettre à jour la planification.
Supprimer une planification de workflow
Pour supprimer définitivement une planification de workflow, procédez comme suit:
Dans la console Google Cloud, accédez à la page Orchestration.
Effectuez l'une des opérations suivantes :
Cliquez sur le nom de la planification de workflow sélectionnée, puis sur Supprimer sur la page Détails de la planification.
Sur la ligne contenant la planification de workflow sélectionnée, cliquez sur
Afficher les actions dans la colonne Actions, puis sur Supprimer.
Dans la boîte de dialogue qui s'affiche, cliquez sur Supprimer.
Étape suivante
- Apprenez-en plus sur les workflows dans BigQuery.
- Découvrez comment créer des workflows.