Descripción general de los flujos de trabajo

Workflows es una plataforma de organización completamente administrada que ejecuta servicios en el orden que tú definas: un flujo de trabajo. Estos flujos de trabajo pueden combinar incluidos los personalizados alojados en Cloud Run o Cloud Functions, los servicios de Google Cloud como Cloud Vision AI y BigQuery y cualquier API basada en HTTP.

Cuando incorporas Workflows en las soluciones, puedes hacer que las operaciones dependencias explícitas y observables de extremo a extremo. Un flujo de trabajo que especifica una aplicación, un proceso operativo o empresarial proporciona una fuente de información la narrativa canónica del proceso.

Workflows es sin servidores que escala verticalmente según sea necesario y sin cargos se incurre mientras está inactivo. Porque un flujo de trabajo no contiene código ni biblioteca las dependencias, no se requieren parches de seguridad. Una vez que implementas un flujo de trabajo, puede esperar que se ejecute de manera confiable sin mantenimiento. Un flujo de trabajo puede contener estado, reintentar, sondear o esperar hasta un año.

Workflows cumple con los siguientes requisitos: certificaciones y estándares.

En el siguiente diagrama, se muestra un ejemplo del uso de Workflows para organizar servicios:

Organización de servicios con Workflows

Casos de uso clave

Workflows admite muchos casos de uso. Por ejemplo:

Organización de servicios Crear soluciones mediante la combinación de servicios: realiza una secuencia de operaciones en múltiples sistemas, esperando a que se completen todas las operaciones. Puede ser controlado por eventos. Por ejemplo:
  • Envía los archivos subidos recientemente a Cloud Vision AI y, luego, escribe las etiquetas en Firestore
  • Llama a una Cloud Function y envía los resultados a una Servicio de Cloud Run
los trabajos por lotes Opera en varios elementos: realiza operaciones en un conjunto de elementos. por lotes. Suelen programarse. Por ejemplo:
  • Enviar correos electrónicos diarios a los clientes
  • Prepara y ejecuta trabajos de BigQuery o de aprendizaje automático
  • Genera informes
Procesos empresariales Automatiza los flujos de trabajo de la línea de negocio: Codifica los pasos de una proceso empresarial, incluidas las condiciones, las acciones y la interacción eventos. Por ejemplo:
  • Cómo hacer el seguimiento de un pedido desde la solicitud hasta la entrega
  • Automatiza las solicitudes de recursos con aprobaciones
Automatización de procesos de TI Ejecución administrada de operaciones de servicio: secuencia de secuencias de comandos con facilidad de las operaciones de servicio de Google Cloud. Por ejemplo:
  • Aprovisionar nuevos proyectos o infraestructura de usuario
  • Desactiva recursos según un programa o mediante activadores de eventos

Conceptos básicos

Un flujo de trabajo consiste en una serie de pasos descritos usando el de Workflows, y se puede escribir en YAML o JSON. Esta es la definición del flujo de trabajo. Para obtener una explicación detallada del Sintaxis de Workflows, consulta la Referencia de sintaxis.

Después de crear un flujo de trabajo, este se implementa, lo que prepara el flujo de trabajo. para su ejecución. Aprende a crear y actualizar un flujo de trabajo. en la consola de Google Cloud o con Google Cloud CLI. También puedes crear tu flujo de trabajo usando tu IDE o editor de código fuente preferido, y cómo configurar el autocompletado y la validación de la sintaxis

Una ejecución es una ejecución única de la lógica contenida en el archivo definición. Un flujo de trabajo que no se ejecutó no genera cargos. Todo las ejecuciones de los flujos de trabajo son independientes, y el escalamiento rápido del producto una gran cantidad de ejecuciones simultáneas. Puedes ejecutar un flujo de trabajo con el bibliotecas cliente, en la consola de Google Cloud, con Google Cloud CLI, o enviando una solicitud POST HTTP a la URL de invocación del flujo de trabajo usando la API de REST de Workflows. Para obtener más información, consulta Ejecuta un flujo de trabajo.

Funciones clave

Las siguientes son algunas capacidades clave de Workflows.

Control de ejecución

Pasos
Para crear un flujo de trabajo, debes definir los pasos necesarios y el orden de ejecución usando la sintaxis de Workflows. Todos los flujos de trabajo deben tener al menos un paso. De forma predeterminada, Workflows trata los pasos como si estuvieran en un lista ordenada y las ejecuta uno a la vez hasta que todos los pasos se hayan ejecutado. Para consulta Pasos.
Condiciones
Puedes usar un bloque switch como mecanismo de selección que permite el valor de una expresión para controlar el flujo de la ejecución de un flujo de trabajo. Para obtener más información, consulta Condiciones.
Iteración
Puedes usar un bucle for para iterar en una secuencia de números o a través de una colección de datos, como una lista o un mapa. Para obtener más información, consulta Iteración.
Pasos paralelos
Puedes usar un paso parallel para definir una parte de tu flujo de trabajo (una rama o un bucle) que se pueden ejecutar simultáneamente. Para obtener más información, consulta Pasos paralelos.
Subflujos de trabajo
Un subflujo de trabajo funciona de manera similar a una rutina o función en un entorno de lenguaje, lo que te permite encapsular un paso o conjunto de pasos que tu flujo de trabajo se repetirá varias veces. Para obtener más información, consulta Subflujos de trabajo.

Activa ejecuciones

Manual
Puedes administrar flujos de trabajo desde la consola de Google Cloud o desde la línea de comandos con Google Cloud CLI. Compatibilidad con la visualización durante la edición del La sintaxis de Workflows también está disponible a través de la consola de Google Cloud.
Programático
Las bibliotecas cliente de Cloud para la API de Workflows o La API de REST se puede usar para administrar flujos de trabajo. Para obtener más información, consulta API y referencia de Workflows.
Programado
Puedes usar Cloud Scheduler para ejecutar un flujo de trabajo en un según la agenda, como todos los lunes a las 9 a.m. o cada 15 minutos. Para obtener más información, consulta Programa un flujo de trabajo con Cloud Scheduler.
Argumentos de entorno de ejecución
Para acceder a los datos que se pasan durante el tiempo de ejecución, agrega un campo params al (ubicado en un bloque main). El bloque main acepta un solo argumento que sea cualquier tipo de datos JSON válido. El campo params nombra los variable que el flujo de trabajo usa para almacenar los datos que pasas. Para obtener más información, consulta Argumentos del entorno de ejecución.

Servicios de conexión

APIs de HTTP
Puedes definir un paso del flujo de trabajo que realice una llamada HTTP y asignar la respuesta de la llamada a una variable. Por ejemplo, puedes invocar una instancia de Google Cloud como Cloud Functions o Cloud Run a través de una solicitud para cada solicitud. Se admiten solicitudes HTTP y HTTPS. Para obtener más información, consulta Realiza una solicitud HTTP y Invoca Cloud Functions o Cloud Run.
Puedes invocar a las Compute Engine locales privadas, Google Kubernetes Engine (GKE) u otros extremos de Google Cloud habilitando Identity-Aware Proxy (IAP). IAP te permite establecer una de autorización para las aplicaciones a las que se accede a través de HTTPS, de modo que puedas usar modelo de control de acceso a nivel de aplicación en lugar de depender del nivel firewalls. Para obtener más información, consulta Invoca el extremo privado local, Compute Engine, GKE o algún otro extremo.
De manera alternativa, puedes dirigirte a un extremo privado para llamadas HTTP desde tu la ejecución del flujo de trabajo usando el registro de servicios del Directorio de servicios Workflows Con la creación de un extremo privado dentro de red de nube privada virtual (VPC), el extremo puede Cumplen con los Controles del servicio de VPC. Para obtener más información, consulta Invoca un extremo privado que cumpla con los Controles del servicio de VPC.
Conectores
Los flujos de trabajo publican conectores que se pueden usar para conectarse a otras APIs de Google Cloud en un flujo de trabajo y también integrar tus flujos de trabajo con esos productos de Google Cloud. Simplifican las llamadas servicios porque manejan el formato de las solicitudes por ti y te proporcionan métodos y argumentos para que no necesites conocer los detalles de un API de Google Cloud. Para obtener más información, consulta Información sobre los conectores.
Biblioteca estándar y variables de entorno
La biblioteca estándar Workflows, las variables de entorno integradas, y las variables de entorno definidas por el usuario te permiten construir para los servicios y las respuestas del proceso.
La biblioteca estándar incluye módulos y funciones de uso frecuente, como para las conversiones de tipos y formatos de datos. No es necesario importar ni cargar bibliotecas en un flujo de trabajo: las funciones de biblioteca funcionan de inmediato. Para obtener más información, consulta la Descripción general de la biblioteca estándar.
Puedes acceder a la información del entorno de un flujo de trabajo (como su ubicación o identificador del proyecto) con variables de entorno integradas. Entorno integrado variables no requieren declaración y están disponibles en la ejecución de todos los flujos de trabajo. Para obtener más detalles, consulta Variables de entorno integradas.
Cuando implementas un flujo de trabajo, puedes establecer pares de cadenas de clave y valor arbitrarios como variables de entorno definidas por el usuario a las que puede acceder tu flujo de trabajo en tiempo de ejecución. Por ejemplo, puedes crear un flujo de trabajo configurado de forma dinámica según el entorno en el que se implementa. Para obtener más información, consulta Usa variables de entorno.

Manejo de errores

Puedes hacer que tus flujos de trabajo sean resilientes y personalizar su comportamiento cuando se produce una falla usando Workflows manejo de excepciones, como reintentos automáticos de llamadas HTTP con retiradas exponenciales, errores personalizados controladores y otras funciones avanzadas. Para obtener más información, consulta Errores de flujo de trabajo.

Esperando

Las devoluciones de llamada permiten que las ejecuciones de flujos de trabajo esperen a que otro servicio realice una al extremo de devolución de llamada; esta solicitud reanude la ejecución de la en el flujo de trabajo. Con las devoluciones de llamada, puedes indicar al flujo de trabajo que un evento específico y espera a que ocurra sin sondeo. Para obtener más información, consulta Espera a usar devoluciones de llamada.

Puedes pausar la ejecución de un flujo de trabajo agregando un paso de sueño a tu del flujo de trabajo. Luego, puedes usar sys.sleep para sondear los datos de una en un intervalo determinado. Para obtener más información, consulta Espera usando el sondeo.

Autenticación y control de acceso

Dado que cada ejecución de flujo de trabajo requiere una llamada autenticada, puedes mitigar el riesgo de llamadas accidentales o maliciosas cuando usas Workflows. También puedes simplificar las interacciones con otras APIs de Google Cloud usando Cuentas de servicio basadas en IAM y puede almacenar de manera segura claves y contraseñas para autenticarse las APIs con el Conector de Secret Manager. Para Detalles, obtén más información sobre la autenticación y el control de acceso.

Observabilidad

Workflows genera automáticamente registros de ejecución para el flujo de trabajo ejecuciones en Cloud Logging. También puedes controlar cuándo se envían los registros Registro durante la ejecución de un flujo de trabajo a través del registro de llamadas o los registros personalizados. Para obtener más información, consulta Envía registros a Cloud Logging.

La información de los registros de auditoría está disponible a través de los Registros de auditoría de Cloud. Para obtener más información, consulta la información de registros de auditoría para los flujos de trabajo y ejecuciones de flujos de trabajo.

Puedes recuperar el historial de la ejecución de un flujo de trabajo especificado como una lista de entradas de pasos. Cada entrada representa un paso o un bloque de instrucciones la ejecución del flujo de trabajo. Las entradas de pasos pueden ayudarte a determinar la fuente de un error o la optimización del rendimiento de un flujo de trabajo.

Muestras de código

Puedes encontrar muchas muestras de código de Workflows útiles en la página de muestras.

¿Qué sigue?