Cree y actualice un flujo de trabajo

En esta página, se muestra cómo crear un flujo de trabajo y cómo actualizar uno existente en Google Cloud Console o mediante la herramienta de línea de comandos de gcloud.

Antes de comenzar

Algunos de los pasos de este documento podrían no funcionar correctamente si tu organización aplica restricciones a tu entorno de Google Cloud. En ese caso, es posible que no puedas completar tareas como crear direcciones IP públicas o claves de cuenta de servicio. Si realizas una solicitud que muestra un error sobre las restricciones, consulta cómo desarrollar aplicaciones en un entorno restringido de Google Cloud.

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

  4. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

  6. Habilita la API de flujos de trabajo.

    Habilita la API de flujos de trabajo

Cree una cuenta de servicio

Crea una cuenta de servicio si aún no tienes una. Luego, otórgale las funciones necesarias para administrar flujos de trabajo y crear registros.

Console

  1. En Cloud Console, ve a la página Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Selecciona un proyecto y, luego, haz clic en Crear cuenta de servicio.

  3. Ingresa un nombre en el campo Nombre de cuenta de servicio.

    El nombre debe tener entre 6 y 30 caracteres y puede contener guiones y caracteres alfanuméricos en minúscula. Después de crear una cuenta de servicio, no podrás cambiar su nombre.

  4. Haga clic en Crear.

  5. En la lista Función, selecciona Logging > Escritor de registros.

    El campo Función autoriza el acceso de tu cuenta de servicio a los recursos.

    Si estás desarrollando una app de producción, siempre otorga las funciones menos permisivas posibles. Para obtener más información, consulta Administra el acceso a proyectos, carpetas y organizaciones. Para obtener una lista de las funciones de Workflows, consulta la referencia de control de acceso.

  6. Haga clic en Continuar.

  7. Haga clic en Listo.

gcloud

  1. Cree la cuenta de servicio.

    gcloud iam service-accounts create NAME
  2. Otorga permisos a la cuenta de servicio mediante la asignación de una función.

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member "serviceAccount:NAME@PROJECT_ID.iam.gserviceaccount.com" \
       --role "roles/logging.logWriter"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto
    • NAME: Es el nombre de la cuenta de servicio. Debe tener entre 6 y 30 caracteres y puede contener guiones y caracteres alfanuméricos en minúscula. Después de crear una cuenta de servicio, no podrás cambiar su nombre.

    La marca --role se usa para autorizar a tu cuenta de servicio a acceder a los recursos.

    Si estás desarrollando una app de producción, siempre otorga las funciones menos permisivas posibles. Para obtener más información, consulta Administra el acceso a proyectos, carpetas y organizaciones. Para obtener una lista de las funciones de Workflows, consulta la referencia de control de acceso.

Crea un flujo de trabajo

Una definición de flujo de trabajo consta de una serie de pasos que se describen mediante la sintaxis de flujos de trabajo, que se puede escribir en formato YAML o JSON. Después de crear un flujo de trabajo, debes implementarlo a fin de que esté disponible para su ejecución. El paso de implementación también valida que se pueda ejecutar el archivo de origen. Falla si el archivo de origen no contiene una definición de flujo de trabajo válida.

Console

  1. En Cloud Console, ve a la página Workflows:

    Ir a Workflows

  2. Selecciona Create.

  3. Ingresa un nombre para el flujo de trabajo nuevo, como myFirstWorkflow. El nombre puede contener letras, números, guiones bajos y guiones. Debe comenzar con una letra y terminar con una letra o un número

  4. Elegir una región adecuada por ejemplo, us-central1.

  5. Selecciona la cuenta de servicio que deseas que use el flujo de trabajo para la autenticación con otros servicios de Google Cloud. Recomendamos usar una cuenta de servicio con los privilegios mínimos necesarios para acceder a los recursos requeridos. Para obtener más información sobre las cuentas de servicio, consulta Crea y administra cuentas de servicio.

  6. Selecciona Siguiente.

  7. En el editor de flujos de trabajo, ingresa la definición de tu flujo de trabajo. Puedes encontrar un ejemplo del flujo de trabajo en la guía de inicio rápido: Crea un flujo de trabajo con Cloud Console.

  8. Selecciona Implementar.

gcloud

  1. Asegúrate de que el código fuente de tu flujo de trabajo se guarde en un archivo YAML o JSON, como MY_WORKFLOW.YAML o MY_WORKFLOW.JSON. Puedes encontrar un flujo de trabajo de ejemplo en la página Guía de inicio rápido: Crea un flujo de trabajo con la herramienta gcloud.

  2. Abre una terminal.

  3. Para implementar el flujo de trabajo, ingresa el siguiente comando:

    gcloud workflows deploy MY_WORKFLOW \
       --source=MY_WORKFLOW.YAML \
       --service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM
    

    Reemplaza lo siguiente:

    • MY_WORKFLOW: El nombre de tu flujo de trabajo.

    • MY_WORKFLOW.YAML: Es el archivo de origen que se usará para el flujo de trabajo.

    • MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM: Opcional. La cuenta de servicio que el flujo de trabajo usará para acceder a otros servicios de Google Cloud. Recomendamos usar una cuenta de servicio con los privilegios mínimos necesarios para acceder a los recursos requeridos. Si se deja en blanco, se usa la cuenta de servicio predeterminada. Para obtener más información sobre las cuentas de servicio, consulta Crea y administra cuentas de servicio.

Actualizar un flujo de trabajo

Puedes actualizar un flujo de trabajo existente para cambiar su fuente, descripción, etiquetas o su cuenta de servicio asociada. La actualización de un flujo de trabajo no afecta las ejecuciones en curso. Solo las ejecuciones futuras del flujo de trabajo usarán la configuración actualizada.

Console

  1. En Cloud Console, ve a la página Workflows:

    Ir a Workflows

  2. Selecciona el nombre del flujo de trabajo que deseas actualizar.

  3. En la página Editar flujo de trabajo, puedes editar la descripción, actualizar la cuenta de servicio que usa el flujo de trabajo para la autenticación o agregar o actualizar una etiqueta. No puedes editar el nombre del flujo de trabajo.

    Las etiquetas son pares clave-valor que te ayudan a organizar tus instancias de Google Cloud. Para obtener más información, consulta Crea y administra etiquetas.

  4. Selecciona Siguiente cuando termines de realizar las actualizaciones iniciales.

  5. Para editar la fuente del flujo de trabajo, actualiza el código fuente en el editor de flujo de trabajo.

  6. Selecciona Implementar.

gcloud

  1. Ubica el archivo YAML o JSON en el que se guarda la fuente de flujo de trabajo actualizada, como WORKFLOW_FILE.YAML o WORKFLOW_FILE.JSON.

  2. Abre una terminal.

  3. Busca el nombre del flujo de trabajo que deseas actualizar. Si no conoces el nombre del flujo de trabajo, puedes ingresar el siguiente comando para enumerar todos tus flujos de trabajo:

    gcloud workflows list
    
  4. Puedes actualizar la fuente, la cuenta de servicio asociada, la descripción o las etiquetas de un flujo de trabajo:

    gcloud workflows deploy WORKFLOW_NAME \
       --source=WORKFLOW_FILE.YAML \
       --service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM \
       --labels=KEY=VALUE... \
       --description='WORKFLOW_DESCRIPTION'
    

    Reemplaza lo siguiente:

    • WORKFLOW_NAME: Obligatorio. El nombre de tu flujo de trabajo.

    • WORKFLOW_FILE.YAML: Obligatorio. Es el archivo de origen del flujo de trabajo.

    • MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM: Opcional. La cuenta de servicio que el flujo de trabajo usará para acceder a otros servicios de Google Cloud. Para obtener más información sobre las cuentas de servicio, consulta Crea y administra cuentas de servicio.

    • KEY=VALUE: Opcional Pares de etiquetas KEY=VALUE, en una lista separada por comas, si agregas más de una. Las etiquetas te ayudan a organizar tus instancias de Google Cloud. Para obtener más información, consulta Crea y administra etiquetas.

    • WORKFLOW_DESCRIPTION: Opcional La descripción que deseas darle a tu flujo de trabajo.

    Debes especificar el nombre del flujo de trabajo que deseas actualizar y su fuente, pero el resto de las marcas son opcionales.

Cada vez que actualizas un flujo de trabajo, se actualiza su versionID. versionID consta de dos partes separadas por un guion:

  • Un número, a partir de uno, que aumenta cada vez que actualizas un flujo de trabajo.

  • Una string aleatoria de tres caracteres.

Por ejemplo, 000002-d52 indica un flujo de trabajo que se actualizó una vez. 000001-27f indica un flujo de trabajo que se encuentra en su versión inicial.

¿Qué sigue?