Démarrage rapide à l'aide des bibliothèques clientes

Ce guide de démarrage rapide explique comment exécuter un workflow et afficher les résultats d'exécution à l'aide d'une bibliothèque cliente. Dans cet exemple, nous partons du principe que vous avez déployé le workflow. myFirstWorkflow en utilisantCloud Console oulegcloud outil de ligne de commande Tout d'abord.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. 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 gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Activez l'API Workflows.

    Activer l'API Workflows
  5. Dans Cloud Console, accédez à la page Comptes de service.

    Accéder à la page Créer un compte de service
  6. Sélectionnez Créer un compte de service.
  7. Dans le champ Nom du compte de service, saisissez un nom.
  8. Cliquez sur Create (Créer).
  9. Dans la liste Rôle, sélectionnez Logging > Rédacteur de journaux.

    Remarque: Le champ Rôle autorise votre compte de service à accéder aux ressources. Pour envoyer des journaux à Cloud Logging, attribuez le rôle roles/logging.logWriter. Si vous développez une application de production, accordez toujours les rôles les moins permissif possible. Pour plus d'informations, consultez la page Attribuer des rôles aux comptes de service. Pour obtenir la liste des rôles de workflows, consultez la documentation de référence sur le contrôle des accès.
  10. Cliquez sur Continuer.
  11. Cliquez sur OK.

Obtenir l'exemple de code

  1. Clonez l'exemple de dépôt sur votre ordinateur local :

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git

    Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.

  2. Accédez au répertoire qui contient l'exemple de code de Cloud Functions :

    cd nodejs-docs-samples/workflows/quickstart/
  3. Consultez l'exemple de code:

    const {ExecutionsClient} = require('@google-cloud/workflows');
    const client = new ExecutionsClient();
    
    /**
     * Sleeps the process N number of milliseconds.
     * @param {Number} ms The number of milliseconds to sleep.
     */
    function sleep(ms) {
      return new Promise(resolve => {
        setTimeout(resolve, ms);
      });
    }
    
    // Execute workflow
    try {
      const createExecutionRes = await client.createExecution({
        parent: client.workflowPath(projectId, location, workflow),
      });
      const executionName = createExecutionRes[0].name;
      console.log(`Created execution: ${executionName}`);
    
      // Wait for execution to finish, then print results.
      let executionFinished = false;
      let backoffDelay = 1000; // Start wait with delay of 1,000 ms
      console.log('Poll every second for result...');
      while (!executionFinished) {
        const [execution] = await client.getExecution({
          name: executionName,
        });
        executionFinished = execution.state !== 'ACTIVE';
    
        // If we haven't seen the result yet, wait a second.
        if (!executionFinished) {
          console.log('- Waiting for results...');
          await sleep(backoffDelay);
          backoffDelay *= 2; // Double the delay to provide exponential backoff.
        } else {
          console.log(`Execution finished with state: ${execution.state}`);
          console.log(execution.result);
          return execution.result;
        }
      }
    } catch (e) {
      console.error(`Error executing workflow: ${e}`);
    }

Le programme effectue les opérations suivantes:

  1. Configure les bibliothèques clientes des workflows.
  2. Exécute un workflow.
  3. Interrogez l'exécution du workflow (à l'aide d'un intervalle exponentiel entre les tentatives) jusqu'à la fin de l'exécution.
  4. Affiche les résultats d'exécution.

Installer des dépendances

npm install

Exécuter l'exemple

Pour exécuter l'exemple, exécutez le script suivant:

node . PROJECT_ID [CLOUD_REGION] [WORKFLOW_NAME]

Remplacez les arguments de ligne de commande suivants:

  • PROJECT_ID (obligatoire): ID du projet Cloud Platform
  • CLOUD_REGION: emplacement cloud pour le workflow (par défaut: us-central1)
  • WORKFLOW_NAME: ID du workflow (valeur par défaut: myFirstWorkflow)

Exemple :

node . my-custom-project us-central1 userSignupWorkflow

Exemple de résultat :

Execution finished with state: SUCCEEDED
["Sunday","Sunday in the Park with George","Sunday shopping","Sunday Bloody Sunday","Sunday Times Golden Globe Race","Sunday All Stars","Sunday Night (South Korean TV series)","Sunday Silence","Sunday Without God","Sunday Independent (Ireland)"]

Nettoyer

Pour éviter que les ressources utilisées dans ce guide démarrage rapide soient facturées sur votre compte Google Cloud :

  1. Accédez à la page Workflows dans Cloud Console.
    Flux de travail

  2. Sélectionnez le bouton Supprimer.

  3. Dans l'invite qui s'affiche, saisissez le nom du workflow.

  4. Sélectionnez Supprimer.

Étape suivante