Ejecuta un flujo de trabajo con bibliotecas cliente
Puedes ejecutar un flujo de trabajo y ver los resultados de la ejecución mediante una biblioteca cliente.
Para obtener más información sobre cómo instalar las bibliotecas cliente y configurar tu entorno de desarrollo, consulta la descripción general de las bibliotecas cliente de Workflows.
Antes de comenzar
Es posible que las restricciones de seguridad que define tu organización no te permitan completar los siguientes pasos. Para obtener información sobre la solución de problemas, consulta Desarrolla aplicaciones en un entorno de Google Cloud restringido.
- En el siguiente ejemplo, se supone que ya implementaste el flujo de trabajo
myFirstWorkflow
. Si no lo has hecho, impleméntalo ahora con la consola de Google Cloud o con Google Cloud CLI. - Descarga e instala la herramienta de administración de código fuente de Git.
Obtén el código de muestra
Clona el repositorio de la app de muestra en tu máquina local:
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
De manera opcional, puedes descargar la muestra como un archivo zip y extraerla.
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
De manera opcional, puedes descargar la muestra como un archivo zip y extraerla.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
De manera opcional, puedes descargar la muestra como un archivo zip y extraerla.
Ve al directorio que contiene el código de muestra de 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/
Observa el código de muestra:
Java
Node.js
Python
El programa hace lo siguiente:
- Configura las bibliotecas cliente de Cloud para Workflows.
- Ejecuta un flujo de trabajo.
- Sondea la ejecución del flujo de trabajo (mediante la retirada exponencial) hasta que la ejecución finaliza.
- Imprime los resultados de la ejecución.
Ejecuta la muestra
Para ejecutar la muestra, primero instala las dependencias:
Java
mvn compile
Node.js
npm install
Python
pip3 install -r requirements.txt
Ejecute la secuencia de comandos:
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
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de Google Cloud (obligatorio).CLOUD_REGION
: Es la ubicación del flujo de trabajo (valor predeterminado:us-central1
).WORKFLOW_NAME
: El ID del flujo de trabajo (valor predeterminado:myFirstWorkflow
)
El resultado es similar al siguiente:
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)"]
Pasa datos en una solicitud de ejecución
Según el lenguaje de la biblioteca cliente, también puedes pasar un argumento de entorno de ejecución en una solicitud de ejecución.
Por ejemplo, con 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;
O bien, con Java:
// Creates the execution object.
CreateExecutionRequest request =
CreateExecutionRequest.newBuilder()
.setParent(parent.toString())
.setExecution(Execution.newBuilder().setArgument("{\"searchTerm\":\"Friday\"}").build())
.build();
Si quieres obtener más información para pasar argumentos de entorno de ejecución, consulta Cómo pasar argumentos del entorno de ejecución en una solicitud de ejecución.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página.
En la consola de Google Cloud, ve a la página Workflows.
En la lista de flujos de trabajo, haz clic en un flujo de trabajo para ir a la página Detalles del flujo de trabajo.
Haz clic en
Borrar.Escribe el nombre del flujo de trabajo y, luego, haz clic en Confirmar.