Créer un workflow à l'aide de gcloud CLI
Dans ce guide de démarrage rapide, vous allez découvrir comment créer, déployer et exécuter votre premier workflow à l'aide de Google Cloud CLI. L'exemple de workflow envoie une requête à une API publique, puis renvoie la réponse de l'API.
Pour obtenir la liste de toutes les commandes gcloud CLI de Workflows, consultez la page de référence de gcloud CLI pour Workflows.
Avant de commencer
Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour en savoir plus sur la résolution des problèmes, consultez Développer des applications dans un environnement limité. Google Cloud
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activer l'API Workflows
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable workflows.googleapis.com
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un Google Cloud projet.
Rôles requis pour sélectionner ou créer un projet
- Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un nouveau projet, vous disposez déjà des autorisations requises.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activer l'API Workflows
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable workflows.googleapis.com
-
Configurez l'authentification :
-
Assurez-vous de disposer du rôle IAM Créateur de comptes de service
(
roles/iam.serviceAccountCreator) et du rôle Administrateur de projet IAM (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles. -
Créez le compte de service :
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Remplacez
SERVICE_ACCOUNT_NAMEpar le nom que vous souhaitez donner au compte de service. -
Attribuez le rôle IAM
roles/logging.logWriterau compte de service :gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/logging.logWriter
Remplacez les éléments suivants :
SERVICE_ACCOUNT_NAME: nom du compte de service.PROJECT_ID: ID du projet dans lequel vous avez créé le compte de service.
-
Assurez-vous de disposer du rôle IAM Créateur de comptes de service
(
Pour en savoir plus sur les rôles et les autorisations des comptes de service, consultez la page Accorder une autorisation de workflow pour accéder aux Google Cloud ressources.
Rôles requis
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 :
- Utilisateur du compte de service (
roles/iam.serviceAccountUser) - Administrateur de workflows (
roles/workflows.admin)
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 avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer, déployer et exécuter un workflow
Dans votre répertoire d'accueil, créez un fichier appelé
myFirstWorkflow.yamloumyFirstWorkflow.json.Copiez et collez le workflow suivant dans le nouveau fichier, puis enregistrez-le :
YAML
JSON
À moins que vous ne saisissiez votre propre terme de recherche, ce workflow utilise votre Google Cloud emplacement pour construire un terme de recherche qu'il transmet à l'API Wikipédia. Une liste d'articles Wikipédia associés est renvoyée.
Déployez le workflow et associez-le au compte de service spécifié :
gcloud workflows deploy myFirstWorkflow --source=myFirstWorkflow.EXTENSION \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comRemplacez les éléments suivants :
EXTENSION: extension de fichier de votre workflow. Utilisezyamlpour la version YAML oujsonpour la version JSON.PROJECT_ID: ID de votre projet
Exécutez le workflow :
gcloud workflows run myFirstWorkflow \ --data='SEARCH_TERM'Remplacez
SEARCH_TERMpar votre terme de recherche, par exemple,{"searchTerm":"North"}. Si vous saisissez{}, votre Google Cloud emplacement est utilisé pour construire un terme de recherche.Cette méthode renvoie les résultats de la tentative d'exécution. Le résultat ressemble à ce qui suit :
argument: '{"searchTerm":"North"}' duration: 0.210616856s endTime: '2023-05-10T21:56:39.465899376Z' name: projects/734581694262/locations/us-central1/workflows/workflow-1/executions/eae31f11-a5c3-47e2-8014-05b400820a79 result: '["North","North America","Northern Ireland","North Korea","North Macedonia","North Carolina","Northrop Grumman B-2 Spirit","Northrop F-5","Northern Cyprus","North Dakota"]' startTime: '2023-05-10T21:56:39.255282520Z' state: SUCCEEDED status: currentSteps: - routine: main step: returnOutput workflowRevisionId: 000001-ac2
Vous avez déployé et exécuté votre premier workflow !
Libérer de l'espace
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, supprimez le Google Cloud projet qui les contient.
Supprimez le workflow que vous avez créé :
gcloud workflows delete myFirstWorkflowLorsque vous êtes invité à poursuivre l'opération, saisissez
y.
Le workflow est supprimé.