Puedes crear y gestionar flujos de trabajo en la Google Cloud consola o mediante la CLI de Google Cloud en tu terminal o en Cloud Shell. También puedes gestionar flujos de trabajo a través de la API Workflows.
Antes de empezar
Es posible que las restricciones de seguridad definidas por tu organización te impidan completar los siguientes pasos. Para obtener información sobre cómo solucionar problemas, consulta el artículo Desarrollar aplicaciones en un entorno limitado Google Cloud .
Consola
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Workflows API.
gcloud
REST
Para gestionar flujos de trabajo con la API Workflows, te recomendamos que uses las bibliotecas de cliente proporcionadas por Google para llamar al servicio workflows.googleapis.com
. Para obtener más información, consulta la API Workflows.
Crear una cuenta de servicio
Una cuenta de servicio representa la identidad de un flujo de trabajo y determina qué permisos tiene el flujo de trabajo y a qué recursos puede acceder. Google Cloud Crea una cuenta de servicio si aún no tienes una y, a continuación, concédele los roles necesarios para gestionar flujos de trabajo y crear registros.
Si no especificas una cuenta de servicio durante la creación del flujo de trabajo, este usará la cuenta de servicio predeterminada de Compute Engine como identidad. Para obtener más información, consulta Conceder permiso a un flujo de trabajo para acceder a recursos Google Cloud .
Te recomendamos que utilices 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 adjuntar una cuenta de servicio, necesitas permisos para crear ese recurso y para suplantar la cuenta de servicio que vas a adjuntar al recurso. Para obtener más información, consulta Permisos de cuentas de servicio.
Consola
En la Google Cloud consola, ve a la página Cuentas de servicio.
Selecciona un proyecto y, a continuación, haz clic en Crear cuenta de servicio.
En el campo Nombre de cuenta de servicio, escribe un nombre.
El nombre debe tener entre 6 y 30 caracteres y puede contener caracteres alfanuméricos en minúscula y guiones. Una vez que hayas creado una cuenta de servicio, no podrás cambiar su nombre.
Haz clic en Crear y continuar.
Haz clic en Selecciona un rol.
Selecciona los siguientes roles y haz clic en Añadir otro rol según sea necesario:
- Para crear, actualizar y ejecutar flujos de trabajo, selecciona Flujos de trabajo > Editor de flujos de trabajo.
- Para enviar registros a Cloud Logging, selecciona Logging > Logs Writer.
Haz clic en Hecho para terminar de crear la cuenta de servicio.
gcloud
Crea la cuenta de servicio.
gcloud iam service-accounts create SERVICE_ACCOUNT
Concede permisos a la cuenta de servicio asignando roles.
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"
Para enviar registros a Cloud Logging, asigna el rol
roles/logging.logWriter
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
Haz los cambios siguientes:
SERVICE_ACCOUNT
: el nombre de la cuenta de servicio. Debe tener entre 6 y 30 caracteres, y puede contener caracteres alfanuméricos en minúscula y guiones. Una vez que hayas creado una cuenta de servicio, no podrás cambiar su nombre.PROJECT_ID
: el ID de tu proyecto.
REST
Puedes usar el método
serviceAccounts.create
para crear una cuenta de servicio. Para obtener más información, consulta el artículo Crear cuentas de servicio.
Puedes asignar varios roles mediante programación modificando y definiendo la política de permiso de un recurso con el método setIamPolicy
. Para obtener más información, consulta Conceder o revocar varios roles mediante programación.
Crear un flujo de trabajo
Una definición de flujo de trabajo se compone de una serie de pasos descritos mediante la sintaxis de Workflows, que se puede escribir en formato YAML o JSON. Una vez que hayas definido un flujo de trabajo, debes implementarlo para que esté disponible para su ejecución. El paso de implementación también valida que el archivo de origen se pueda ejecutar. Si el archivo de origen no contiene una definición de flujo de trabajo válida, se produce un error.
Editar archivos YAML puede dar lugar a errores. Puedes crear tu flujo de trabajo con un IDE o un editor de código fuente que prefieras y configurar el autocompletado y la validación de la sintaxis para reducir los errores.
Consola
En la Google Cloud consola, ve a la página Flujos de trabajo.
Haz clic en
Crear.Asigna un nombre al flujo de trabajo, como
myFirstWorkflow
. El nombre puede contener letras, números, guiones bajos y guiones. Debe empezar por una letra y terminar por un número o una letra.Si quiere, puede añadir una descripción del flujo de trabajo.
En la lista Región, selecciona una ubicación adecuada para implementar tu flujo de trabajo. Por ejemplo, us-central1.
En la lista Cuenta de servicio, selecciona una cuenta de servicio que tu flujo de trabajo usará para acceder a otros servicios Google Cloud . Para obtener más información, consulta el artículo Crear una cuenta de servicio de este documento.
También puede hacer lo siguiente:
Especifica el nivel de registro de llamadas que quieras aplicar a la definición del flujo de trabajo. En la lista Nivel de registro de llamadas, seleccione una de las siguientes opciones:
- Sin especificar: no se ha especificado ningún nivel de registro. Este es el valor predeterminado. 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 (el valor predeterminado). En ese caso, se aplica el nivel de registro de 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 flujos de trabajo secundarios o funciones de biblioteca y sus resultados.
- Sin registros: no se registran las llamadas.
Especifica el nivel del historial de ejecución que quieras aplicar a la definición del flujo de trabajo. En la lista Historial de ejecuciones, selecciona una de las siguientes opciones:
- Básico: habilita el historial de ejecuciones básico. Este es el valor predeterminado.
- Detallado: habilita el historial de ejecución detallado, incluidos los valores de las variables del ámbito y el número de iteraciones esperado.
Especifica una clave de Cloud Key Management Service que el flujo de trabajo debe usar para el encriptado de datos: selecciona Clave de encriptado gestionada por el cliente (CMEK). Para obtener más información, consulta el artículo sobre cómo usar claves de cifrado gestionadas por el cliente.
Especifica una variable de entorno a la que pueda acceder tu flujo de trabajo en el tiempo de ejecución. Para obtener más información, consulta Usar variables de entorno.
Añadir una etiqueta: las etiquetas son pares clave-valor que te ayudan a organizar tusGoogle Cloud instancias. Para obtener más información, consulta ¿Qué son las etiquetas? Las ejecuciones del flujo de trabajo heredan las etiquetas del flujo de trabajo. Para ver las etiquetas de ejecución, usa el método
workflows.executions.list
para listar y filtrar las ejecuciones de flujo de trabajo.Programa tu flujo de trabajo: selecciona Añadir nuevo activador > Cloud Scheduler. Para obtener más información, consulta Programar un flujo de trabajo con Cloud Scheduler.
Activa el flujo de trabajo mediante un evento o un mensaje de Pub/Sub: selecciona Añadir nuevo activador > Eventarc. Para obtener más información, consulta el artículo Activar un flujo de trabajo con eventos o mensajes de Pub/Sub.
Haz clic en Siguiente.
En el editor de flujos de trabajo, introduce la definición del flujo de trabajo. Consulta un ejemplo de flujo de trabajo.
Haz clic en Desplegar.
gcloud
Asegúrate de que el código fuente de tu flujo de trabajo esté guardado en un archivo YAML o JSON, como
MY_WORKFLOW.YAML
oMY_WORKFLOW.JSON
. Consulta un ejemplo de flujo de trabajo.Abre la terminal.
Puedes crear y desplegar 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" \ --execution-history-level="EXECUTION_HISTORY_LEVEL" \ --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
Haz los cambios siguientes:
WORKFLOW_NAME
: el nombre del flujo de trabajo. Por ejemplo,myFirstWorkflow
. El nombre puede contener letras, números, guiones bajos y guiones. Debe empezar por una letra y terminar por un número o una letra.LOCATION
: la región en la que quieres implementar tu flujo de trabajo. Por ejemplo,us-central1
.CALL_LOGGING_LEVEL
: opcional. Nivel de registro de llamadas que se aplicará durante la ejecución. Puede ser uno de los siguientes:none
: no se ha especificado ningún nivel de registro. Este es el valor predeterminado. El 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 (el valor predeterminado). En ese caso, se aplica el nivel de registro de 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
: no se registran las llamadas.
DESCRIPTION
: opcional. Descripción del flujo de trabajo.EXECUTION_HISTORY_LEVEL
: opcional. Nivel del historial de ejecuciones que se aplicará durante la ejecución. Puede ser uno de los siguientes:none
: no se ha especificado ningún nivel de historial de ejecuciones. Esta es la opción predeterminada. Si no se especifica ningún nivel de historial de ejecución para una ejecución, se determina en función del nivel aplicado al flujo de trabajo. Si los niveles son diferentes, el ajuste aplicado a nivel de ejecución anula el ajuste aplicado a nivel de flujo de trabajo en esta ejecución.execution-history-basic
: habilita el historial de ejecuciones básico.execution-history-detailed
: habilita el historial de ejecución detallado, incluidos los valores de las variables del ámbito y el número esperado de iteraciones.
LABEL_KEY=LABEL_VALUE
: opcional. Lista de pares clave-valor de etiquetas que le ayudan a organizar sus Google Cloud instancias; por ejemplo,name=wrench
. Para obtener más información, consulta el artículo ¿Qué son las etiquetas? Las ejecuciones del flujo de trabajo heredan las etiquetas del flujo de trabajo. Para ver las etiquetas de ejecución, usa el métodoworkflows.executions.list
para listar y filtrar las ejecuciones de flujo de trabajo.ENV_KEY=ENV_VALUE
: opcional. Lista de pares clave-valor de variables de entorno; por ejemplo,MONTH=January
. Para obtener más información, consulta Usar variables de entorno.ENCRYPT_KEY
: opcional. Clave de Cloud KMS que el flujo de trabajo debe usar para el cifrado de datos en el formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para obtener más información, consulta el artículo Usar claves de cifrado gestionadas por el cliente.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. La cuenta de servicio que usará tu flujo de trabajo para acceder a otros servicios deGoogle Cloud . Para obtener más información, consulta la sección Crear una cuenta de servicio de este documento.YAML_OR_JSON_SOURCE_FILE
: el archivo de origen de la definición del flujo de trabajo. Por ejemplo:myFirstWorkflow.yaml
.
REST
Para crear un flujo de trabajo con un nombre específico, usa el método projects.locations.workflows.create
y el parámetro de consulta workflowId
para especificar un ID del flujo de trabajo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
WORKFLOW_NAME
: el nombre del flujo de trabajo, por ejemplo,myFirstWorkflow
. El nombre puede contener letras, números, guiones bajos y guiones. Debe empezar por una letra y terminar por una letra o un número.DESCRIPTION
: opcional. Una descripción de tu flujo de trabajo. No debe tener más de 1000 caracteres Unicode.LABEL_KEY
yLABEL_VALUE
: opcional. Un mapa de pares clave-valor de etiquetas que te ayuda 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? Las etiquetas de flujo de trabajo se heredan en las ejecuciones del flujo de trabajo. Para ver las etiquetas de ejecución, usa el métodoworkflows.executions.list
para listar y filtrar las ejecuciones de flujo de trabajo.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. La cuenta de servicio que usará tu flujo de trabajo para acceder a otros servicios de Google Cloud . El ID del proyecto es el ID de tu proyecto Google Cloud . Para obtener más información, consulta el artículo Crear una cuenta de servicio de este documento.ENCRYPT_KEY
: opcional. Una clave de Cloud KMS que el flujo de trabajo debe usar para el cifrado de datos con el formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para obtener más información, consulta el artículo Usar claves de cifrado gestionadas por el cliente.CALL_LOGGING_LEVEL
: opcional. El nivel de registro de llamadas que se aplicará durante la ejecución. De forma predeterminada, no se especifica ningún nivel de registro y se aplica el nivel de registro del flujo de trabajo. Para obtener más información, consulta Enviar registros a Logging. Una de las siguientes:CALL_LOG_LEVEL_UNSPECIFIED
: no se ha especificado ningún nivel de registro y, en su lugar, se aplica el nivel de registro del flujo de trabajo. Este es el valor predeterminado. De lo contrario, se aplicará el nivel de registro de ejecución y tendrá prioridad sobre 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
: no se registran las llamadas.
EXECUTION_HISTORY_LEVEL
: opcional. Nivel del historial de ejecuciones que se aplicará durante la ejecución. Para obtener más información, consulta Ver el historial de los pasos de ejecución. Una de las siguientes:EXECUTION_HISTORY_LEVEL_UNSPECIFIED
: no se ha especificado ningún nivel de historial de ejecuciones. Este es el valor predeterminado. Si no se especifica un nivel de historial de ejecución para una ejecución, se determina en función del nivel aplicado al flujo de trabajo. Si los niveles son diferentes, el ajuste aplicado a nivel de ejecución anula el ajuste aplicado a nivel de flujo de trabajo en esta ejecución.EXECUTION_HISTORY_BASIC
: habilita el historial de ejecuciones básico.EXECUTION_HISTORY_ADVANCED
: habilita el historial de ejecución detallado, incluidos los valores de las variables del ámbito y el número esperado de iteraciones.
ENV_KEY
yENV_VALUE
: opcionales. Un mapa de pares clave-valor de variables de entorno; por ejemplo,{ "month": "January", "day": "Monday"}
. Para obtener más información, consulta Usar variables de entorno.SOURCE_CODE
: la definición del flujo de trabajo. Debes usar caracteres de escape para los saltos de línea en YAML. Por ejemplo:main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello
Debes usar caracteres de escape para las comillas en JSON. Por ejemplo:
{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
LOCATION
: la región en la que se va a 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", "executionHistoryLevel": "EXECUTION_HISTORY_LEVEL" "userEnvVars": {"ENV_KEY":"ENV_VALUE"}, "sourceContents": "SOURCE_CODE" }
Para enviar tu solicitud, despliega una de estas opciones:
Si la solicitud se completa correctamente, 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 sigue en curso.
Mostrar flujos de trabajo
Puedes enumerar los flujos de trabajo o usar filtros para obtener un flujo de trabajo específico.
Consola
En la Google Cloud consola, ve a la página Flujos de trabajo.
En esta página se muestran tus flujos de trabajo de todas las ubicaciones, así como detalles como nombres, regiones, últimas revisiones y más.
Para filtrar tus flujos de trabajo, sigue estos pasos:
- Haz clic en Filtrar o en el campo Filtrar flujos de trabajo.
- En la lista Propiedades, seleccione una opción para filtrar los flujos de trabajo.
Puede seleccionar una sola propiedad o usar el operador lógico
OR
para añadir más propiedades.Para ordenar tus flujos de trabajo, haz clic en
Ordenar junto al encabezado de cualquier columna admitida.
gcloud
Lista los flujos de trabajo con el comando gcloud workflows list
:
gcloud workflows list --location=LOCATION
Sustituye LOCATION
por el ID o el identificador completo de la ubicación de tu flujo de trabajo.
Este comando muestra una lista de tus flujos de trabajo en la ubicación especificada e incluye detalles como el NAME
, el STATE
, el REVISION_ID
y el UPDATE_TIME
de un flujo de trabajo.
REST
Para enumerar los flujos de trabajo de un proyecto y una ubicación concretos, usa el método
projects.locations.workflows.list
.
También puede usar el método
projects.locations.workflows.get
para obtener los detalles de un solo flujo de trabajo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID
: tu ID de proyecto Google Cloud.LOCATION
: la región en la que se implementan los flujos de trabajo. Por ejemplo,us-central1
.
Para enviar tu solicitud, despliega una de estas opciones:
Si la salida del comando es correcta, en el cuerpo de la respuesta se incluirán instancias de Workflow
y la respuesta debería 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. Debes especificar el nombre del flujo de trabajo que quieras actualizar y su origen. Ten en cuenta que no puedes cambiar el nombre ni la ubicación de un flujo de trabajo.
La actualización de un flujo de trabajo no afecta a las ejecuciones en curso. Solo las ejecuciones futuras 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:
Número, que empieza por uno y aumenta cada vez que actualizas un flujo de trabajo.
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 ha actualizado una vez.
Consola
En la Google Cloud consola, ve a la página Flujos de trabajo.
Haz clic en el nombre del flujo de trabajo que quieras actualizar. Ten en cuenta que no puedes cambiar el nombre del flujo de trabajo.
Se mostrará la página Detalles del flujo de trabajo.
Puedes editar el flujo de trabajo de las siguientes formas:
Para editar la fuente, sigue estos pasos:
- Haga clic en la pestaña Fuente.
- Haz clic en Editar.
- Para guardar los cambios, haz clic en Guardar. El flujo de trabajo actualizado se ha implementado.
Para actualizar la descripción, la cuenta de servicio que usa el flujo de trabajo para la autenticación, el nivel de registro de llamadas, las variables de entorno, las etiquetas o la clave de cifrado, sigue estos pasos:
- Haga clic en la pestaña Detalles.
- Haz clic en el icono correspondiente.
- Si vas a actualizar el nivel del registro de llamadas, selecciona una de las siguientes opciones:
- Sin especificar: no se ha especificado ningún nivel de registro. Este es el valor predeterminado. 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 (el valor predeterminado). En ese caso, se aplica el nivel de registro de 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 flujos de trabajo secundarios o funciones de biblioteca y sus resultados.
- Sin registros: no se registran las llamadas.
- Si vas a actualizar el nivel del historial de ejecución, selecciona una de las siguientes opciones:
- Básico: habilita el historial de ejecuciones básico. Este es el valor predeterminado.
- Detallado: habilita el historial de ejecución detallado, incluidos los valores de las variables del ámbito y el número de iteraciones esperado.
- Si actualizas una etiqueta o añades una nueva, puede tardar hasta 10 minutos en aplicarse. Las etiquetas de flujo de trabajo se heredan de las ejecuciones del flujo de trabajo. Para ver las etiquetas de ejecución, usa el método
workflows.executions.list
para listar y filtrar las ejecuciones de flujos de trabajo. - Para guardar los cambios, haz clic en Guardar. El flujo de trabajo actualizado se ha implementado.
Para editar los campos anteriores al mismo tiempo, o añadir o actualizar un activador, sigue estos pasos:
- Haz clic en Editar.
- Para editar la fuente, haz clic en Siguiente.
- Para guardar los cambios e implementar el flujo de trabajo actualizado, haz clic en Implementar.
Si quieres actualizar los roles de tu cuenta de servicio, haz clic en la pestaña Permisos.
Las entidades principales son usuarios, grupos, dominios o cuentas de servicio. Para actualizar un principal, sigue estos pasos:
- Busque una fila que contenga la entidad de seguridad.
- Haz clic en Editar principal en esa fila.
- Haz clic en Añadir otro rol o en Eliminar rol.
Si vas a añadir un rol, en la lista Selecciona un rol, elige el rol adecuado.
Para añadir otro rol, haz clic en Añadir otro rol.
Haz clic en Guardar.
gcloud
Abre la terminal.
Busca el nombre del flujo de trabajo que quieras actualizar. Si no sabes el nombre del flujo de trabajo, puedes introducir el siguiente comando para ver una lista de todos tus flujos de trabajo:
gcloud workflows list
Busca el archivo YAML o JSON en el que se guarda la fuente del flujo de trabajo, como
WORKFLOW_NAME.YAML
oWORKFLOW_NAME.JSON
.Puedes actualizar un flujo de trabajo para cambiar su origen, descripción, etiquetas, variables de entorno, nivel de registro de llamadas, clave de cifrado o cuenta de servicio asociada mediante el comando
gcloud workflows deploy
.Debes especificar el nombre del flujo de trabajo que quieres actualizar y su origen. El resto de las marcas son opcionales. Para quitar una clave de cifrado gestionada por el cliente, usa la marca
--clear-kms-key
.gcloud workflows deploy WORKFLOW_NAME \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --execution-history-level="EXECUTION_HISTORY_LEVEL" \ --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
Haz los cambios siguientes:
WORKFLOW_NAME
: obligatorio. El nombre de tu flujo de trabajo.CALL_LOGGING_LEVEL
: opcional. Nivel de registro de llamadas que se aplicará durante la ejecución. Puede ser uno de los siguientes:none
: no se ha especificado ningún nivel de registro. Este es el valor predeterminado. El 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 (el valor predeterminado). En ese caso, se aplica el nivel de registro de 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
: no se registran las llamadas.
DESCRIPTION
: opcional. Descripción del flujo de trabajo.EXECUTION_HISTORY_LEVEL
: opcional. Nivel del historial de ejecuciones que se aplicará durante la ejecución. Puede ser uno de los siguientes:none
: no se ha especificado ningún nivel de historial de ejecuciones. Esta es la opción predeterminada. Si no se especifica ningún nivel de historial de ejecución para una ejecución, se determina en función del nivel aplicado al flujo de trabajo. Si los niveles son diferentes, el ajuste aplicado a nivel de ejecución anula el ajuste aplicado a nivel de flujo de trabajo en esta ejecución.execution-history-basic
: habilita el historial de ejecuciones básico.execution-history-detailed
: habilita el historial de ejecución detallado, incluidos los valores de las variables del ámbito y el número esperado de iteraciones.
LABEL_KEY=LABEL_VALUE
: opcional. Lista de pares clave-valor de etiquetas que le ayudan a organizar sus Google Cloud instancias; por ejemplo,name=wrench
. Para obtener más información, consulta el artículo ¿Qué son las etiquetas? Las ejecuciones del flujo de trabajo heredan las etiquetas del flujo de trabajo. Para ver las etiquetas de ejecución, usa el métodoworkflows.executions.list
para listar y filtrar las ejecuciones de flujo de trabajo.ENV_KEY=ENV_VALUE
: opcional. Lista de pares clave-valor de variables de entorno; por ejemplo,MONTH=January
. Para obtener más información, consulta Usar variables de entorno.ENCRYPT_KEY
: opcional. Clave de Cloud KMS que el flujo de trabajo debe usar para el cifrado de datos en el formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para obtener más información, consulta el artículo Usar claves de cifrado gestionadas por el cliente.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. La cuenta de servicio que usará tu flujo de trabajo para acceder a otros servicios deGoogle Cloud . Si quieres actualizar los roles de tu cuenta de servicio, consulta los artículos Conceder permiso a un flujo de trabajo para acceder a recursos de Google Cloud y Gestionar el acceso a proyectos, carpetas y organizaciones.YAML_OR_JSON_SOURCE_FILE
: obligatorio. El archivo de origen del flujo de trabajo en formato YAML o JSON. Por ejemplo:myFirstWorkflow.yaml
.
REST
Para actualizar un flujo de trabajo, usa el método projects.locations.workflows.patch y, opcionalmente, el parámetro de consulta updateMask
para especificar una lista de campos que se van a actualizar.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
WORKFLOW_NAME
: el nombre del flujo de trabajo, por ejemplo,myFirstWorkflow
.DESCRIPTION
: opcional. Una descripción de tu flujo de trabajo. No debe tener más de 1000 caracteres Unicode.LABEL_KEY
yLABEL_VALUE
: opcional. Un mapa de pares clave-valor de etiquetas que te ayuda 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? Las etiquetas de flujo de trabajo se heredan en las ejecuciones del flujo de trabajo. Para ver las etiquetas de ejecución, usa el métodoworkflows.executions.list
para listar y filtrar las ejecuciones de flujo de trabajo.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. La cuenta de servicio que usará tu flujo de trabajo para acceder a otros servicios de Google Cloud . El ID del proyecto es el ID de tu proyecto Google Cloud . Para obtener más información, consulta el artículo Crear una cuenta de servicio de este documento.ENCRYPT_KEY
: opcional. Una clave de Cloud KMS que el flujo de trabajo debe usar para el cifrado de datos con el formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para obtener más información, consulta el artículo Usar claves de cifrado gestionadas por el cliente.CALL_LOGGING_LEVEL
: opcional. El nivel de registro de llamadas que se aplicará durante la ejecución. De forma predeterminada, no se especifica ningún nivel de registro y se aplica el nivel de registro del flujo de trabajo. Para obtener más información, consulta Enviar registros a Logging. Una de las siguientes:CALL_LOG_LEVEL_UNSPECIFIED
: no se ha especificado ningún nivel de registro y, en su lugar, se aplica el nivel de registro del flujo de trabajo. Este es el valor predeterminado. De lo contrario, se aplicará el nivel de registro de ejecución y tendrá prioridad sobre 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
: no se registran las llamadas.
EXECUTION_HISTORY_LEVEL
: opcional. Nivel del historial de ejecuciones que se aplicará durante la ejecución. Para obtener más información, consulta Ver el historial de los pasos de ejecución. Una de las siguientes:EXECUTION_HISTORY_LEVEL_UNSPECIFIED
: no se ha especificado ningún nivel de historial de ejecuciones. Este es el valor predeterminado. Si no se especifica un nivel de historial de ejecución para una ejecución, se determina en función del nivel aplicado al flujo de trabajo. Si los niveles son diferentes, el ajuste aplicado a nivel de ejecución anula el ajuste aplicado a nivel de flujo de trabajo en esta ejecución.EXECUTION_HISTORY_BASIC
: habilita el historial de ejecuciones básico.EXECUTION_HISTORY_ADVANCED
: habilita el historial de ejecución detallado, incluidos los valores de las variables del ámbito y el número esperado de iteraciones.
ENV_KEY
yENV_VALUE
: opcionales. Un mapa de pares clave-valor de variables de entorno; por ejemplo,{ "month": "January", "day": "Monday"}
. Para obtener más información, consulta Usar variables de entorno.SOURCE_CODE
: definición del flujo de trabajo minificada. Por ejemplo:{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
LOCATION
: la región en la que se implementa el flujo de trabajo. Por ejemplo,us-central1
.UPDATE_FIELDS
: opcional. Lista separada por comas de los campos que se van a actualizar. Si no se proporciona, se actualiza todo el flujo de trabajo. Por ejemplo,description,callLogLevel
.
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", "executionHistoryLevel": "EXECUTION_HISTORY_LEVEL" "userEnvVars": {"ENV_KEY":"ENV_VALUE"}, "sourceContents": "SOURCE_CODE" }
Para enviar tu solicitud, despliega una de estas opciones:
Si la solicitud se completa correctamente, 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 sigue en curso.
Eliminar un flujo de trabajo
Puedes eliminar un flujo de trabajo. Si eliminas un flujo de trabajo, también se eliminarán sus ejecuciones y se cancelarán las ejecuciones activas.
Consola
En la Google Cloud consola, ve a la página Flujos de trabajo.
Haz clic en el nombre del flujo de trabajo que quieras eliminar y, a continuación, en
Eliminar.Cuando se te pida que confirmes la eliminación, introduce el nombre del flujo de trabajo.
Haz clic en Confirmar.
gcloud
Abre la terminal.
Busca el nombre del flujo de trabajo que quieras eliminar. Si no sabes el nombre del flujo de trabajo, puedes introducir el siguiente comando para ver una lista de todos tus flujos de trabajo:
gcloud workflows list
Elimina un flujo de trabajo con el comando
gcloud workflows delete
:gcloud workflows delete WORKFLOW_NAME
Sustituye
WORKFLOW_NAME
por el nombre de tu flujo de trabajo.
REST
Para eliminar un flujo de trabajo con un nombre específico, usa el método projects.locations.workflows.delete
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
WORKFLOW_NAME
: el nombre del flujo de trabajo que quieras eliminar.PROJECT_ID
: tu ID de proyecto Google Cloud.LOCATION
: la región en la que se implementa el flujo de trabajo. Por ejemplo,us-central1
.
Para enviar tu solicitud, despliega una de estas opciones:
Si la salida del comando es correcta, en el cuerpo de la respuesta se incluirá 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 sigue en curso.