Crea y administra flujos de trabajo

Puedes crear y administrar flujos de trabajo en la consola de Google Cloud o con el Google Cloud CLI en tu terminal o en Cloud Shell. También puedes y administrar flujos de trabajo con la API 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.

Console

  1. En la página del selector de proyectos de la consola de Google Cloud, elige o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  2. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  3. Habilitar la API de Workflows

    Habilita la API

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  3. Habilitar la API de Workflows

    gcloud services enable workflows.googleapis.com
    

REST

Para administrar los flujos de trabajo con la API de Workflows, recomendamos que debes usar el modelo de administración bibliotecas cliente para llamar al Servicio de workflows.googleapis.com. Para obtener más información, consulta API de Workflows.

Crea una cuenta de servicio

Una cuenta de servicio representa la identidad de un flujo de trabajo y determina qué permisos que tiene el flujo de trabajo y qué recursos de Google Cloud puede el acceso a los datos. Crea una cuenta de servicio si aún no tienes una. luego, otorgarle los roles necesarios para administrar flujos de trabajo y la creación de registros.

Si no especificas una cuenta de servicio durante la creación del flujo de trabajo, usa la cuenta de servicio predeterminada de Compute Engine para su identidad. Para obtener más información, consulta Otorga permiso a un flujo de trabajo para acceder a los recursos de Google Cloud.

Recomendamos usar una cuenta de servicio con los privilegios mínimos necesarios para acceder a los recursos requeridos.

Ten en cuenta que, para crear un recurso y conectar una cuenta de servicio, necesitas permisos para crear ese recurso y usar la identidad de la cuenta de servicio que que adjuntarás al recurso. Para obtener más información, consulta Permisos de la cuenta de servicio.

Console

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

    Ir a Cuentas de servicio

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

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

    El nombre debe tener entre 6 y 30 caracteres y puede contener minúsculas. caracteres alfanuméricos y guiones. Después de crear una cuenta de servicio, no puedes cambiarle el nombre.

  4. Haz clic en Crear y continuar.

  5. Haga clic en Selecciona un rol.

  6. Selecciona los siguientes roles y haz clic en Agregar otro rol según sea necesario:

    1. Para crear, actualizar y ejecutar flujos de trabajo, selecciona Workflows > Editor de flujos de trabajo.
    2. Para enviar registros a Cloud Logging, selecciona Logging > Escritor de registros.
  7. Haz clic en Listo para terminar de crear la cuenta de servicio.

gcloud

  1. Cree la cuenta de servicio.

    gcloud iam service-accounts create SERVICE_ACCOUNT
  2. Otorgar permisos a la cuenta de servicio mediante la asignación de roles

    1. Para crear, actualizar y ejecutar flujos de trabajo, asigna el Rol roles/workflows.editor:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/workflows.editor"
      
    2. Para enviar registros a Cloud Logging, asigna roles/logging.logWriter rol:

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

    Reemplaza lo siguiente:

    • SERVICE_ACCOUNT: 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 puedes cambiarle el nombre.

    • PROJECT_ID: Es el ID de tu proyecto.

REST

Puedes usar la serviceAccounts.create para crear una cuenta de servicio. Para obtener más información, consulta Crea cuentas de servicio.

Puedes otorgar múltiples roles de manera programática si modificas y configuras los política de permisos para un recurso setIamPolicy . Para obtener más información, consulta Otorga o revoca varios roles de manera programática.

Crea un flujo de trabajo

La definición de un flujo de trabajo está compuesta por una serie de pasos descritos con la sintaxis de Workflows, que se pueden escribir en formato YAML o JSON. Después de definir un flujo de trabajo, lo implementas para que sea disponibles 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.

La edición de archivos YAML puede ser propensa a errores. Puedes crear tu flujo de trabajo con un IDE o editor de código fuente preferido y configurar el autocompletado y la validación de sintaxis para reducir los errores.

Console

  1. En la consola de Google Cloud, ve a la página Workflows.

    Ir a Workflows

  2. Haz clic en  Crear.

  3. Ingresa un nombre para el flujo de trabajo, 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. De forma opcional, agrega una descripción del flujo de trabajo.

  5. En la lista Región, selecciona una opción ubicación para implementar el flujo de trabajo; para Por ejemplo, us-central1.

  6. En la lista Cuenta de servicio, selecciona una cuenta de servicio a la que de Terraform usará para acceder a otros servicios de Google Cloud. Para ver más información, en este documento, consulta Crea una cuenta de servicio.

  7. De forma opcional, puedes hacer lo siguiente:

    1. Especifica el nivel de registro de llamadas que deseas aplicar a la definición del flujo de trabajo. En la lista Nivel de registro de llamadas, selecciona una de las siguientes opciones:

      • No especificado: No se especifica ningún nivel de registro. Esta es la opción predeterminada. Un nivel de registro de ejecución tiene prioridad sobre cualquier nivel de registro de flujo de trabajo, a menos que no se especifique el nivel de registro de ejecución (predeterminado). En ese caso, se aplica el nivel de registro del flujo de trabajo.
      • Solo errores: Registra todas las excepciones detectadas, o cuando se detiene una llamada debido a una excepción.
      • Todas las llamadas: Registra todas las llamadas a subflujos de trabajo o funciones de biblioteca y sus resultados.
      • Sin registros: Sin registro de llamadas.
    2. Especifica una clave de Cloud Key Management Service que el flujo de trabajo debería usar para la encriptación de datos: selecciona Clave de encriptación administrada por el cliente (CMEK). Para obtener más información, consulta Usa claves de encriptación administradas por el cliente.

    3. Especifica una variable de entorno a la que pueda acceder el flujo de trabajo en el entorno de ejecución. Para obtener más información, consulta Usa variables de entorno.

    4. Agrega una etiqueta: Las etiquetas son pares clave-valor que te ayudan a organizar tus instancias de Google Cloud. Para obtener más información, consulta ¿Qué son las etiquetas? Las ejecuciones del flujo de trabajo heredan las etiquetas de flujo de trabajo. Para ver de ejecución, usa el método workflows.executions.list para enumera y filtra las ejecuciones de flujos de trabajo.

    5. Programa tu flujo de trabajo: Selecciona Agregar activador nuevo > Cloud Scheduler. Para obtener más información, consulta Programa un flujo de trabajo con Cloud Scheduler.

    6. Activa el flujo de trabajo a través de un evento o mensaje de Pub/Sub: Selecciona Agregar activador nuevo > Eventarc. Para obtener más información, consulta Activa un flujo de trabajo con eventos o mensajes de Pub/Sub.

  8. Haga clic en Siguiente.

  9. En el editor de flujos de trabajo, ingresa la definición para el flujo de trabajo. Consulta un flujo de trabajo de ejemplo.

  10. Haga clic en 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. Consulta un flujo de trabajo de ejemplo.

  2. Abre una terminal.

  3. Puedes crear e implementar un flujo de trabajo con el Comando gcloud workflows deploy:

    gcloud workflows deploy WORKFLOW_NAME \
        --location=LOCATION \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    Reemplaza lo siguiente:

    • WORKFLOW_NAME: Es el nombre de tu flujo de trabajo, para Por ejemplo, myFirstWorkflow. El nombre puede contener letras, números, guiones bajos y guiones. Debe empezar con una letra y terminar con una un número o una letra.

    • LOCATION: el region en la que se implementará el flujo de trabajo; para ejemplo, us-central1.

    • CALL_LOGGING_LEVEL: es opcional. Nivel del registro de llamadas que se aplicará durante la ejecución. Puede ser una de las siguientes opciones:

      • none: No se especifica ningún nivel de registro. Esta es la opción predeterminada. Un nivel de registro de ejecución tiene prioridad sobre cualquier nivel de registro de flujo de trabajo, a menos que no se especifique el nivel de registro de ejecución (predeterminado). En ese caso, se aplica el nivel de registro del flujo de trabajo.
      • log-errors-only: Registra todas las excepciones detectadas; o cuando se detiene una llamada debido a una excepción.
      • log-all-calls: Registra todas las llamadas a subflujos de trabajo o funciones de biblioteca y sus resultados.
      • log-none: Sin registro de llamadas.
    • DESCRIPTION: es opcional. Una descripción del en el flujo de trabajo.

    • LABEL_KEY=LABEL_VALUE: es opcional. Lista de pares clave-valor de etiquetas que te ayudan a organizar tus las instancias de Google Cloud; por ejemplo, name=wrench. Para ver más información, consulta ¿Qué son las etiquetas? Las ejecuciones del flujo de trabajo heredan las etiquetas de flujo de trabajo. Para ver de ejecución, usa el método workflows.executions.list para enumera y filtra las ejecuciones de flujos de trabajo.

    • ENV_KEY=ENV_VALUE: es opcional. Lista de variable de entorno clave-valor; por ejemplo, MONTH=January. Para más información, consulta Usa variables de entorno.

    • ENCRYPT_KEY: es opcional. Un Cloud KMS clave que el flujo de trabajo debe usar para la encriptación de datos en el formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Para obtener más información, consulta Usa claves de encriptación administradas por el cliente.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Opcional. La cuenta de servicio que usará el flujo de trabajo para acceder a otros servicios de Google Cloud. Para obtener más información, en este documento, consulta Crea una cuenta de servicio.

    • YAML_OR_JSON_SOURCE_FILE: Es el archivo fuente para la definición del flujo de trabajo. Por ejemplo: myFirstWorkflow.yaml.

REST

Para crear un nuevo flujo de trabajo con un nombre específico, usa el projects.locations.workflows.create y usa el parámetro de consulta workflowId para especificar un ID para la en el flujo de trabajo.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • WORKFLOW_NAME: Es el nombre de tu de Terraform, por ejemplo, myFirstWorkflow. El nombre puede contener letras, números, guiones bajos y guiones. Debe empezar con una letra y terminar con una letra o un número.
  • DESCRIPTION: es opcional. Una descripción de tu flujo de trabajo. No debe tener más de 1,000 caracteres Unicode.
  • LABEL_KEY y LABEL_VALUE: opcional. Mapa de etiquetas pares clave-valor que te ayudan a organizar tus instancias de Google Cloud. Por ejemplo: {"name": "wrench", "mass": "1kg", "count": "3"} Para obtener más información, consulta ¿Qué son las etiquetas? Flujo de trabajo las ejecuciones del flujo de trabajo heredan las etiquetas. Para ver las etiquetas de ejecución, usa el workflows.executions.list para enumerar y filtrar las ejecuciones de flujos de trabajo.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: es opcional. El servicio que tu flujo de trabajo usará para acceder a otros servicios de Google Cloud. El ID del proyecto es el ID del proyecto de Google Cloud. Para obtener más información, en este documento, consulta Crea una cuenta de servicio.
  • ENCRYPT_KEY: es opcional. R Clave de Cloud KMS que el flujo de trabajo debe usar para la encriptación de datos en el formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Para obtener más información, consulta Usa claves de encriptación administradas por el cliente.
  • CALL_LOGGING_LEVEL: es opcional. El nivel de registro de llamadas que se aplicará durante la ejecución. El valor predeterminado es que ningún nivel de registro se especifica y, en su lugar, se aplica el nivel de registro del flujo de trabajo. Para obtener más información, consulta Envía registros a Logging. Uno de los lo siguiente:
    • CALL_LOG_LEVEL_UNSPECIFIED: No se especifica ningún nivel de registro. se aplica el nivel de registro del flujo de trabajo. Esta es la opción predeterminada. De lo contrario, el nivel de registro de ejecución se aplica y tiene prioridad sobre el nivel de registro del flujo de trabajo.
    • LOG_ERRORS_ONLY: registra todas las excepciones capturadas. o cuando una llamada sea se detuvo debido a una excepción.
    • LOG_ALL_CALLS: Registra todas las llamadas a subflujos de trabajo o funciones de biblioteca. y sus resultados.
    • LOG_NONE: Sin registro de llamadas.
  • ENV_KEY y ENV_VALUE: opcional. Mapa de pares clave-valor de variable de entorno, por ejemplo, { "month": "January", "day": "Monday"}. Para obtener más información, consulta Usa variables de entorno.
  • SOURCE_CODE: El flujo de trabajo definición. Debes escapar las líneas nuevas en YAML. Por ejemplo: main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello.

    Debes escapar las comillas en JSON. Por ejemplo: {\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}.

  • LOCATION: el región en la que se implementará el flujo de trabajo, por ejemplo, us-central1.

Cuerpo JSON de la solicitud:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Para enviar tu solicitud, expande una de estas opciones:

Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "create",
    "apiVersion": "v1"
  },
  "done": false
}

Si el valor de "done" es false, la operación aún está en curso.

Enumerar flujos de trabajo

Puedes enumerar flujos de trabajo o usar filtros para recuperar un flujo de trabajo específico.

Console

  1. En la consola de Google Cloud, ve a la página Flujos de trabajo.

    Ir a Workflows

    En esta página, se enumeran tus flujos de trabajo en todas las ubicaciones y se incluyen detalles como los siguientes: como nombres, regiones, últimas revisiones y más.

  2. Para filtrar tus flujos de trabajo, haz lo siguiente:

    1. Haz clic en Filter. o Filtrar flujos de trabajo.
    2. En la lista Properties, selecciona una opción para filtrar los flujos de trabajo.

    Puedes elegir una sola propiedad o usar el operador lógico OR para agregar más propiedades.

  3. Para ordenar tus flujos de trabajo, junto a cualquier encabezado de columna admitido, haz clic en Ordenar:

gcloud

Enumerar los flujos de trabajo con el Comando gcloud workflows list:

gcloud workflows list --location=LOCATION

Reemplaza LOCATION por el ID o completamente calificado. identificador de la ubicación de tu flujo de trabajo.

Este comando genera una lista de tus flujos de trabajo en la ubicación especificada y, además, incluye lo siguiente: detalles, como NAME, STATE, REVISION_ID y UPDATE_TIME

REST

Para enumerar los flujos de trabajo en un proyecto y una ubicación determinados, usa el projects.locations.workflows.list .

Como alternativa, para recuperar los detalles de un solo flujo de trabajo, usa el projects.locations.workflows.get .

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto de Google Cloud.
  • LOCATION: el región en la que se implementan los flujos de trabajo, por ejemplo, us-central1.

Para enviar tu solicitud, expande una de estas opciones:

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene instancias de Workflow y la respuesta debe ser similar a la siguiente:

{
  "workflows": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
      "state": "ACTIVE",
      "revisionId": "000001-0ce",
      "createTime": "2023-12-08T13:56:59.306770745Z",
      "updateTime": "2023-12-08T13:56:59.547021939Z",
      "revisionCreateTime": "2023-12-08T13:56:59.340161044Z",
      "serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com",
      "sourceContents": "main:\n    params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
    },
    {
      object (Workflow)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}

Actualizar un flujo de trabajo

Puedes actualizar un flujo de trabajo existente. Debes especificar el nombre del flujo de trabajo que quieres actualizar y su fuente. Ten en cuenta que no puedes cambiar el nombre de un flujo de trabajo o ubicación.

La actualización de un flujo de trabajo no afecta las ejecuciones en curso. Solo futuras ejecuciones del flujo de trabajo usarán la configuración actualizada.

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

  • Es un número, comenzando en uno, que aumenta cada vez que actualizas un flujo de trabajo.

  • Es una cadena alfanumérica aleatoria de tres caracteres.

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

Console

  1. En la consola de Google Cloud, ve a la página Flujos de trabajo.

    Ir a Workflows

  2. Haz clic en el nombre del flujo de trabajo que deseas actualizar. Ten en cuenta que no puedes cambiar el nombre del flujo de trabajo.

    Aparecerá la página Detalles del flujo de trabajo.

  3. Puedes editar el flujo de trabajo de las siguientes maneras:

    • Para editar la fuente, haz lo siguiente:

      1. Haz clic en la pestaña Origen.
      2. Haz clic en Edit.
      3. Para guardar los cambios, haz clic en Guardar. El flujo de trabajo actualizado cuando se implementa un plan.
    • Para actualizar la descripción, qué cuenta de servicio usa el flujo de trabajo autenticación, el nivel de registro de llamadas, las variables de entorno, las etiquetas la clave de encriptación:

      1. Haz clic en la pestaña Detalles.
      2. Haz clic en el ícono ícono.
      3. Si quieres actualizar el nivel de registro de llamadas, selecciona una de las siguientes opciones:
        • No especificado: No se especifica ningún nivel de registro. Esta es la opción predeterminada. Un nivel de registro de ejecución tiene prioridad sobre cualquier nivel de registro de flujo de trabajo, a menos que no se especifique el nivel de registro de ejecución (predeterminado). En ese caso, se aplica el nivel de registro del flujo de trabajo.
        • Solo errores: Registra todas las excepciones detectadas, o cuando se detiene una llamada debido a una excepción.
        • Todas las llamadas: Registra todas las llamadas a subflujos de trabajo o funciones de biblioteca y sus resultados.
        • Sin registros: Sin registro de llamadas.
      4. Si actualizas una etiqueta existente o agregas una nueva, el proceso puede ocupar a 10 minutos para que se aplique la etiqueta nueva. Las etiquetas de flujo de trabajo son que heredan las ejecuciones del flujo de trabajo. Para ver las etiquetas de ejecución, haz lo siguiente: usa el método workflows.executions.list para enumera y filtra las ejecuciones de flujos de trabajo.
      5. Para guardar los cambios, haz clic en Guardar. El flujo de trabajo actualizado cuando se implementa un plan.
    • Para editar los campos anteriores al mismo tiempo, o agregar o actualizar una activador:

      1. Haz clic en Editar.
      2. Para editar la fuente, haz clic en Siguiente.
      3. Para guardar los cambios e implementar el flujo de trabajo actualizado, haz clic en Implementación.
  4. Si quieres actualizar los roles de tu cuenta de servicio, haz clic en Permisos.

    1. Las principales son usuarios, grupos, dominios o cuentas de servicio. Para actualizar una principal existente:

      1. Busca una fila que contenga la principal.
      2. Haz clic en Editar principal en ese fila.
      3. Haz clic en Agregar otro. rol o haz clic en Borrar de la API.
    2. Si agregas un rol, en la lista Selecciona un rol, elige un la función adecuada.

    3. Para agregar otro rol, haz clic en Agregar otro rol.

    4. Haz clic en Guardar.

gcloud

  1. Abre una terminal.

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

    gcloud workflows list
    
  3. Ubica el archivo YAML o JSON en el que se guarda la fuente de tu flujo de trabajo. como WORKFLOW_NAME.YAML o WORKFLOW_NAME.JSON

  4. Puedes actualizar un flujo de trabajo existente para cambiar su fuente, descripción etiquetas de recurso, variables de entorno, el nivel de registro de llamadas, la clave de encriptación cuenta de servicio asociada mediante gcloud workflows deploy kubectl.

    Debes especificar el nombre del flujo de trabajo que quieres actualizar y su fuente; Sin embargo, el resto de las marcas son opcionales. Para quitar un clave de encriptación administrada por el cliente, usa la marca --clear-kms-key.

    gcloud workflows deploy WORKFLOW_NAME \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --labels="LABEL_KEY=LABEL_VALUE" \
        --set-env-vars="ENV_KEY=ENV_VALUE" \
        --kms-key=ENCRYPT_KEY \
        --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \
        --source=YAML_OR_JSON_SOURCE_FILE
    

    Reemplaza lo siguiente:

    • WORKFLOW_NAME: obligatorio. El nombre de tu en el flujo de trabajo.

    • CALL_LOGGING_LEVEL: es opcional. Nivel de registro de llamadas para aplicar en el flujo de trabajo. Puede ser una de las siguientes opciones:

      • none: No se especifica ningún nivel de registro. Esta es la opción predeterminada. Un nivel de registro de ejecución tiene prioridad sobre cualquier nivel de registro de flujo de trabajo, a menos que no se especifique el nivel de registro de ejecución (predeterminado). En ese caso, se aplica el nivel de registro del flujo de trabajo.
      • log-errors-only: Registra todas las excepciones detectadas; o cuando se detiene una llamada debido a una excepción.
      • log-all-calls: Registra todas las llamadas a subflujos de trabajo o funciones de biblioteca y sus resultados.
      • log-none: Sin registro de llamadas.
    • DESCRIPTION: es opcional. Una descripción del en el flujo de trabajo.

    • LABEL_KEY=LABEL_VALUE: es opcional. Lista de pares clave-valor de etiquetas que te ayudan a organizar tus las instancias de Google Cloud; por ejemplo, name=wrench. Para ver más información, consulta ¿Qué son las etiquetas? Las ejecuciones del flujo de trabajo heredan las etiquetas de flujo de trabajo. Para ver de ejecución, usa el método workflows.executions.list para enumera y filtra las ejecuciones de flujos de trabajo.

    • ENV_KEY=ENV_VALUE: es opcional. Lista de variable de entorno clave-valor; por ejemplo, MONTH=January. Para más información, consulta Usa variables de entorno.

    • ENCRYPT_KEY: es opcional. Un Cloud KMS clave que el flujo de trabajo debe usar para la encriptación de datos en el formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Para obtener más información, consulta Usa claves de encriptación administradas por el cliente.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: Opcional. La cuenta de servicio que usará el flujo de trabajo para acceder a otros servicios de Google Cloud. Si quieres actualizar los roles de tu cuenta de servicio, consulta Otorga permiso a un flujo de trabajo para acceder a los recursos de Google Cloud y Administra el acceso a proyectos, carpetas y organizaciones.

    • YAML_OR_JSON_SOURCE_FILE: obligatorio. El origen para el flujo de trabajo en formato YAML o JSON. Por ejemplo: myFirstWorkflow.yaml

REST

Para actualizar un flujo de trabajo existente, usa el projects.locations.workflows.patch y, de manera opcional, usa el parámetro de consulta updateMask para especificar una lista de campos que se deben actualizar.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

Cuerpo JSON de la solicitud:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Para enviar tu solicitud, expande una de estas opciones:

Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "update",
    "apiVersion": "v1"
  },
  "done": false
}

Si el valor de "done" es false, la operación aún está en curso.

Borra un flujo de trabajo

Puedes borrar un flujo de trabajo existente. Si borras un flujo de trabajo, también se borrará su y cancela cualquier ejecución activa del flujo de trabajo.

Console

  1. En la consola de Google Cloud, ve a la página Flujos de trabajo.

    Ir a Workflows

  2. Haz clic en el nombre del flujo de trabajo que deseas borrar y, luego, en Borrar.

  3. Cuando se te solicite confirmar la eliminación, ingresa el nombre del flujo de trabajo.

  4. Haz clic en Confirmar.

gcloud

  1. Abre una terminal.

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

    gcloud workflows list
    
  3. Borrar un flujo de trabajo con el Comando gcloud workflows delete:

    gcloud workflows delete WORKFLOW_NAME
    

    Reemplaza WORKFLOW_NAME por el nombre de tu en el flujo de trabajo.

REST

Para borrar un flujo de trabajo con un nombre específico, usa el projects.locations.workflows.delete .

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • WORKFLOW_NAME: Es el nombre de la flujo de trabajo que quieres borrar.
  • PROJECT_ID: el ID del proyecto de Google Cloud.
  • LOCATION: el región en la que se implementa el flujo de trabajo, por ejemplo, us-central1.

Para enviar tu solicitud, expande una de estas opciones:

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "delete",
    "apiVersion": "v1"
  },
  "done": false
}

Si el valor de "done" es false, la operación aún está en curso.

¿Qué sigue?