Exécuter un workflow à l'aide de bibliothèques clientes
Vous pouvez exécuter un workflow et afficher les résultats d'exécution à l'aide d'une bibliothèque cliente.
Pour en savoir plus sur l'installation des bibliothèques clientes et la configuration de votre environnement de développement, consultez la présentation des bibliothèques clientes de Workflows.
Avant de commencer
Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour obtenir des informations de dépannage, consultez la page Développer des applications dans un environnement Google Cloud limité.
- L'exemple suivant suppose que vous avez déjà déployé le workflow
myFirstWorkflow
. Si ce n'est pas le cas, déployez-le maintenant à l'aide de la console Google Cloud ou de la Google Cloud CLI. - Téléchargez et installez l'outil de gestion du code source Git.
Obtenir l'exemple de code
Clonez le dépôt de l'exemple d'application sur votre machine locale :
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Node.js
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.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Accédez au répertoire contenant l'exemple de code Workflows:
Java
cd java-docs-samples/workflows/cloud-client/
Node.js
cd nodejs-docs-samples/workflows/quickstart/
Python
cd python-docs-samples/workflows/cloud-client/
Consultez l'exemple de code :
Java
Node.js
Python
Le programme effectue les opérations suivantes:
- Configure les bibliothèques clientes Cloud pour Workflows.
- Exécute un workflow.
- Il interroge l'exécution du workflow (en utilisant un intervalle exponentiel entre les tentatives) jusqu'à la fin de l'exécution.
- Imprime les résultats d'exécution.
Exécuter l'exemple
Pour exécuter l'exemple, commencez par installer les dépendances:
Java
mvn compile
Node.js
npm install
Python
pip3 install -r requirements.txt
Exécutez le script :
Java
GOOGLE_CLOUD_PROJECT=PROJECT_ID LOCATION=CLOUD_REGION WORKFLOW=WORKFLOW_NAME mvn compile exec:java -Dexec.mainClass=com.example.workflows.WorkflowsQuickstart
Node.js
node . PROJECT_ID CLOUD_REGION WORKFLOW_NAME
Python
GOOGLE_CLOUD_PROJECT=PROJECT_ID LOCATION=CLOUD_REGION WORKFLOW=WORKFLOW_NAME python3 main.py
Remplacez les éléments suivants :
PROJECT_ID
: (obligatoire) ID du projet Google CloudCLOUD_REGION
: emplacement du workflow (par défaut:us-central1
)WORKFLOW_NAME
: ID du workflow (par défaut:myFirstWorkflow
)
Le résultat ressemble à ce qui suit :
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)"]
Transmettre des données dans une requête d'exécution
En fonction du langage de la bibliothèque cliente, vous pouvez également transmettre un argument d'environnement d'exécution dans une requête d'exécution.
Par exemple, en utilisant JavaScript:
// Execute workflow
try {
const createExecutionRes = await client.createExecution({
parent: client.workflowPath(projectId, location, workflow),
execution: {
argument: JSON.stringify({"searchTerm": "Friday"})
}
});
const executionName = createExecutionRes[0].name;
Ou, en utilisant Java:
// Creates the execution object.
CreateExecutionRequest request =
CreateExecutionRequest.newBuilder()
.setParent(parent.toString())
.setExecution(Execution.newBuilder().setArgument("{\"searchTerm\":\"Friday\"}").build())
.build();
Pour en savoir plus sur la transmission d'arguments d'environnement d'exécution, consultez la section Transmettre des arguments d'environnement d'exécution dans une requête d'exécution.
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 :
Dans la console Google Cloud, accédez à la page Workflows :
Dans la liste des workflows, cliquez sur un workflow pour accéder à sa page Détails du workflow.
Cliquez sur
Supprimer.Saisissez le nom du workflow, puis cliquez sur Confirm (Confirmer).