É possível criar e gerenciar fluxos de trabalho no console do Google Cloud ou usando a CLI do Google Cloud no terminal ou no Cloud Shell. Você também pode gerenciar fluxos de trabalho pela API Workflows.
Antes de começar
As restrições de segurança definidas pela sua organização podem impedir que você conclua as etapas a seguir. Para informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente restrito do Google Cloud.
Console
- 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.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Workflows API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Workflows API.
gcloud
- 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Workflows API:
gcloud services enable workflows.googleapis.com
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Workflows API:
gcloud services enable workflows.googleapis.com
REST
Para gerenciar fluxos de trabalho usando a API Workflows, recomendamos
que você use as bibliotecas de cliente fornecidas pelo Google para chamar o
serviço workflows.googleapis.com
. Para mais informações, consulte a
API Workflows.
Crie uma conta de serviço
Uma conta de serviço representa a identidade de um fluxo de trabalho e determina o que permissões que o fluxo de trabalho tem e quais recursos do Google Cloud ele pode acesso. Crie uma conta de serviço se ainda não tiver uma. e conceder a ele os papéis necessários gerenciamento de fluxos de trabalho e na criação de registros.
Se você não especificar uma conta de serviço durante a criação do fluxo de trabalho, o usa a conta de serviço padrão do Compute Engine como identidade. Para mais informações, consulte Conceda permissão a um fluxo de trabalho para acessar os recursos do Google Cloud.
Recomendamos o uso de uma conta de serviço com os privilégios mínimos necessários para acessar os recursos necessários.
Para criar um recurso e anexar uma conta de serviço, você precisa de permissões para criar esse recurso e se passar pela conta de serviço que você anexará ao recurso. Para mais informações, consulte Permissões da conta de serviço.
Console
No console do Google Cloud, acesse a página Contas de serviço.
Selecione um projeto e clique em Criar conta de serviço.
No campo Nome da conta de serviço, insira um nome.
O nome precisa ter entre 6 e 30 caracteres e pode conter caracteres alfanuméricos minúsculos e traços. Depois de criar uma conta de serviço, não é possível alterar o nome dele.
Clique em Criar e continuar.
Clique em Selecionar papel.
Selecione os seguintes papéis clicando em Adicionar outro papel conforme necessário:
- Para criar, atualizar e executar fluxos de trabalho, selecione Workflows > Editor de fluxos de trabalho.
- Para enviar registros para o Cloud Logging, selecione Logging > Gravador de registros.
Clique em Concluído para terminar a criação da conta de serviço.
gcloud
Crie a conta de serviço.
gcloud iam service-accounts create SERVICE_ACCOUNT
Atribua papéis para conceder permissões à conta de serviço.
Para criar, atualizar e executar fluxos de trabalho, atribua o papel
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 ao Cloud Logging, atribua o
roles/logging.logWriter
função:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
Substitua:
SERVICE_ACCOUNT
: o nome da conta de serviço. Ele precisa ter entre 6 e 30 caracteres e pode conter letras minúsculas, caracteres alfanuméricos e traços. Depois de criar uma conta de serviço, não é possível mudar o nome dela.PROJECT_ID
: o ID do projeto.
REST
Você pode usar o
serviceAccounts.create
método para criar uma conta de serviço. Para mais informações, consulte
Criar contas de serviço.
É possível conceder várias funções de forma programática modificando e definindo a
política de permissão de um recurso usando o método
setIamPolicy
. Para mais informações, consulte
Conceder ou revogar vários papéis de maneira programática.
Criar um fluxo de trabalho
Uma definição de fluxo de trabalho é composta por uma série de etapas descritas usando a sintaxe de fluxos de trabalho, que pode ser escrita em formato YAML ou JSON. Depois de definir um fluxo de trabalho, é preciso implantá-lo para torná-lo disponíveis para execução. A etapa de implantação também valida a execução do arquivo de origem. Isso falhará se o arquivo de origem não contiver uma definição de fluxo de trabalho válida.
A edição de arquivos YAML pode causar erros. É possível criar seu fluxo de trabalho usando um ambiente de desenvolvimento integrado ou editor de código-fonte de preferência e configurando o preenchimento automático e a validação de sintaxe para reduzir erros.
Console
No console do Google Cloud, abra a página Workflows.
Clique em
Criar.Insira um nome para o fluxo de trabalho, como
myFirstWorkflow
. Esse nome pode conter letras, números, sublinhados e hífens. É preciso começar com uma letra e terminar com um número ou uma letraSe quiser, adicione uma descrição do fluxo de trabalho.
Na lista Região, selecione um local adequado para implantar seu fluxo de trabalho. Por exemplo, us-central1.
Na lista Conta de serviço, selecione uma conta de serviço que seu fluxo de trabalho usará para acessar outros serviços do Google Cloud. Para mais informações, neste documento, consulte Crie uma conta de serviço.
Você ainda tem as opções a seguir:
Especifique o nível de registro de chamadas que você quer aplicar à definição do fluxo de trabalho. Na lista Nível de registro de chamadas, selecione uma das seguintes opções:
- Não especificado: nenhum nível de registro foi especificado. Esse é o padrão. Um nível de registro de execução tem precedência sobre qualquer nível de registro de fluxo de trabalho, a menos que o nível de registro de execução não seja especificado (o padrão). Nesse caso, o nível de registro de fluxo de trabalho é aplicado.
- Somente erros: registra todas as exceções identificadas; ou quando uma chamada é interrompida devido a uma exceção.
- Todas as chamadas: registre todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os respectivos resultados.
- Sem registros: nenhum registro de chamadas.
Especifique uma chave do Cloud Key Management Service que o fluxo de trabalho precisa usar para a criptografia de dados: selecione Chave de criptografia gerenciada pelo cliente (CMEK, na sigla em inglês). Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.
Especifique uma variável de ambiente que seja acessível pelo fluxo de trabalho no ambiente de execução. Para mais informações, consulte Usar variáveis de ambiente.
Adicione um rótulo: os identificadores são pares de chave-valor que ajudam a organizar as instâncias do Google Cloud. Para mais informações, consulte O que são rótulos? Os rótulos do fluxo de trabalho são herdados pelas execuções do fluxo de trabalho. Para visualizar rótulos de execução, use o método
workflows.executions.list
para listar e filtrar execuções de fluxo de trabalho.Programe seu fluxo de trabalho: selecione Adicionar novo gatilho > Cloud Scheduler. Para mais informações, consulte Programar um fluxo de trabalho usando o Cloud Scheduler.
Acione seu fluxo de trabalho em um evento ou uma mensagem do Pub/Sub: selecione Adicionar novo gatilho > Eventarc. Para mais informações, consulte Acionar um fluxo de trabalho com eventos ou mensagens do Pub/Sub.
Clique em Próxima.
No editor de fluxo de trabalho, insira a definição para seu fluxo de trabalho. Veja um exemplo de fluxo de trabalho.
Clique em Implantar.
gcloud
Verifique se o código-fonte do fluxo de trabalho está salvo em um arquivo YAML ou JSON, como
MY_WORKFLOW.YAML
ouMY_WORKFLOW.JSON
. Veja um exemplo de fluxo de trabalho.Abra um terminal.
É possível criar e implantar um fluxo de trabalho usando o 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
Substitua:
WORKFLOW_NAME
: o nome do seu fluxo de trabalho. Por exemplo,myFirstWorkflow
. O nome pode conter letras, números, sublinhados e hifens. Ele precisa começar com uma letra e terminar com ou letra.LOCATION
: o region onde o fluxo de trabalho será implantado; para por exemplo,us-central1
.CALL_LOGGING_LEVEL
: opcional. Nível de registro de chamadas a ser aplicado durante a execução. Pode ser um dos seguintes:none
: nenhum nível de registro foi especificado. Esse é o padrão. Um nível de registro de execução tem precedência sobre qualquer nível de registro de fluxo de trabalho, a menos que o nível de registro de execução não seja especificado (o padrão). Nesse caso, o nível de registro de fluxo de trabalho é aplicado.log-errors-only
: registra todas as exceções identificadas. ou quando uma chamada é interrompida devido a uma exceção.log-all-calls
: registra todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os resultados delas.log-none
: nenhum registro de chamadas.
DESCRIPTION
: opcional. Uma descrição do de desenvolvimento de software.LABEL_KEY=LABEL_VALUE
: opcional. Lista de pares de chave-valor de rótulos que ajudam a organizar suas instâncias do Google Cloud, por exemplo,name=wrench
. Para mais informações, consulte O que são rótulos? Os rótulos do fluxo de trabalho são herdados pelas execuções do fluxo de trabalho. Para conferir os rótulos de execução, use o métodoworkflows.executions.list
para listar e filtrar execuções de fluxo de trabalho.ENV_KEY=ENV_VALUE
: opcional. Lista de pares de chave-valor variável de ambiente, por exemplo,MONTH=January
. Para mais informações, consulte Use variáveis de ambiente.ENCRYPT_KEY
: opcional. Uma instância do Cloud KMS chave que o fluxo de trabalho deve usar para criptografia de dados no formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
: Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. A conta de serviço que seu fluxo de trabalho usará para acessar outros serviços do Google Cloud. Para mais informações, consulte Criar uma conta de serviço neste documento.YAML_OR_JSON_SOURCE_FILE
: o arquivo de origem da definição do fluxo de trabalho. Por exemplo,myFirstWorkflow.yaml
.
REST
Para criar um novo fluxo de trabalho com um nome especificado, use o método projects.locations.workflows.create
e o parâmetro de consulta workflowId
para especificar um ID para o fluxo de trabalho.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
WORKFLOW_NAME
: o nome do fluxo de trabalho. Por exemplo,myFirstWorkflow
. O nome pode conter letras, números, sublinhados e hifens. Ele precisa começar com uma letra e terminar com um número ou uma letra.DESCRIPTION
: opcional. Uma descrição do seu fluxo de trabalho. Não pode ter mais de 1.000 caracteres Unicode.LABEL_KEY
eLABEL_VALUE
: opcional. Um mapa de pares de chave e valor de rótulos que ajudam a organizar suas instâncias do Google Cloud. Por exemplo:{"name": "wrench", "mass": "1kg", "count": "3"}
Para mais informações, consulte O que são rótulos? Fluxo de trabalho os rótulos são herdados pelas execuções do fluxo de trabalho. Para visualizar os rótulos de execução, use oworkflows.executions.list
para listar e filtrar execuções de fluxo de trabalho.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. A conta de serviço que seu fluxo de trabalho vai usar para acessar outros serviços do Google Cloud. O ID do projeto é o ID do projeto do Google Cloud. Para mais informações, consulte este documento: Criar uma conta de serviço.ENCRYPT_KEY
: opcional. Uma chave do Cloud KMS que o fluxo de trabalho precisa usar para criptografia de dados no formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.CALL_LOGGING_LEVEL
: opcional. O nível de registro de chamadas a ser aplicado durante a execução. O padrão é que nenhum nível de registro seja especificado e o nível de registro do fluxo de trabalho seja aplicado. Para mais informações, consulte Enviar registros para o Logging. Uma das seguintes opções:CALL_LOG_LEVEL_UNSPECIFIED
: nenhum nível de geração de registros foi especificado, e o nível de registro do fluxo de trabalho será aplicado. Esse é o padrão. Caso contrário, o nível de registro de execução é aplicado e tem precedência sobre o nível de registro do fluxo de trabalho.LOG_ERRORS_ONLY
: registra todas as exceções capturadas. ou quando uma chamada é interrompida devido a uma exceção.LOG_ALL_CALLS
: registra todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os resultados delas.LOG_NONE
: nenhum registro de chamadas.
ENV_KEY
eENV_VALUE
: opcional. Um mapa de pares de chave-valor e chave variável de ambiente. por exemplo,{ "month": "January", "day": "Monday"}
: Para mais informações, consulte Usar variáveis de ambiente.SOURCE_CODE
: a definição do fluxo de trabalho. Você precisa fazer escape de novas linhas no YAML. Exemplo:main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello
É necessário fazer o escape de aspas no JSON. Por exemplo:
{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
LOCATION
: o região em que o fluxo de trabalho será implantado, por por exemplo,us-central1
.
Corpo JSON da solicitação:
{ "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 a solicitação, expanda uma destas opções:
Se houver êxito, o corpo da resposta conterá uma instância 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 }
Se o valor de "done"
for false
, a operação ainda estará em andamento.
Listar fluxos de trabalho
É possível listar fluxos de trabalho ou usar filtros para recuperar um fluxo de trabalho específico.
Console
No console do Google Cloud, abra a página Workflows.
Nesta página, você encontra seus fluxos de trabalho em todos os locais e detalhes como nomes, regiões, revisões mais recentes e muito mais.
Para filtrar os fluxos de trabalho:
- Clique em Filtrar ou no campo Filtrar fluxos de trabalho.
- Na lista Propriedades, selecione uma opção para filtrar os fluxos de trabalho.
É possível selecionar uma única propriedade ou usar o operador lógico
OR
para adicionar mais propriedades.Para classificar seus fluxos de trabalho, ao lado de qualquer cabeçalho de coluna com suporte, clique em
Classificar.
gcloud
Liste os fluxos de trabalho usando o comando
gcloud workflows list
:
gcloud workflows list --location=LOCATION
Substitua LOCATION
pelo ID ou pelo código totalmente qualificado.
identificador para o local de seu fluxo de trabalho.
Esse comando lista seus fluxos de trabalho no local especificado e inclui
como NAME
, STATE
, REVISION_ID
e
UPDATE_TIME
.
REST
Para listar fluxos de trabalho em um determinado projeto e local, use o método
projects.locations.workflows.list
.
Como alternativa, para recuperar os detalhes de um único fluxo de trabalho, use o
método
projects.locations.workflows.get
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud.LOCATION
: o região em que os fluxos de trabalho são implantados, por exemplo por exemplo,us-central1
.
Para enviar a solicitação, expanda uma destas opções:
Se bem-sucedido, o corpo da resposta conterá instâncias de Workflow
e a resposta será semelhante a esta:
{ "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 ] }
Atualizar um fluxo de trabalho
É possível atualizar um fluxo de trabalho existente. Você precisa especificar o nome do fluxo de trabalho que você quer atualizar e a origem dele. Não é possível mudar o nome ou o local de um fluxo de trabalho.
A atualização de um fluxo de trabalho não afeta as execuções em andamento. Somente as execuções futuras do fluxo de trabalho vão usar a configuração atualizada.
Sempre que você atualiza um fluxo de trabalho, o versionID
é atualizado. O versionID
consiste em duas partes, separadas por hífen:
Um número, começando em um, que aumenta cada vez que você atualiza um fluxo de trabalho.
Uma string alfanumérica aleatória de três caracteres.
Por exemplo, 000001-27f
indica a versão inicial de um fluxo de trabalho e
000002-d52
indica um fluxo de trabalho que foi atualizado uma vez.
Console
No console do Google Cloud, abra a página Workflows.
Clique no nome do fluxo de trabalho que você quer atualizar. Não é possível mudar o nome do fluxo de trabalho.
A página Detalhes do fluxo de trabalho é exibida.
É possível editar o fluxo de trabalho das seguintes maneiras:
Para editar a fonte:
- Clique na guia Origem.
- Clique em Editar.
- Para salvar as alterações, clique em Save. O fluxo de trabalho atualizado é implantado.
Para atualizar a descrição, a conta de serviço que o fluxo de trabalho usa para o nível de registro de chamadas, as variáveis de ambiente, os rótulos ou a chave de criptografia:
- Clique na guia Details.
- Clique no ícone correto.
- Se você estiver atualizando o nível de registro de chamadas, selecione uma das seguintes opções:
- Não especificado: nenhum nível de registro foi especificado. Esse é o padrão. Um nível de registro de execução tem precedência sobre qualquer nível de registro de fluxo de trabalho, a menos que o nível de registro de execução não seja especificado (o padrão). Nesse caso, o nível de registro de fluxo de trabalho é aplicado.
- Somente erros: registra todas as exceções identificadas; ou quando uma chamada é interrompida devido a uma exceção.
- Todas as chamadas: registre todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os respectivos resultados.
- Sem registros: nenhum registro de chamadas.
- Se você atualizar ou adicionar um novo marcador, ele pode consumir
em 10 minutos para que o novo marcador entre em vigor. Os rótulos do fluxo de trabalho são
herdados pelas execuções do fluxo de trabalho. Para visualizar os rótulos de execução,
use o método
workflows.executions.list
para listar e filtrar execuções de fluxo de trabalho. - Para salvar as alterações, clique em Save. O fluxo de trabalho atualizado implantados.
Para editar os campos anteriores ao mesmo tempo ou adicionar ou atualizar um acionador:
- Clique em Editar.
- Para editar a origem, clique em Próxima.
- Para salvar as alterações e implantar o fluxo de trabalho atualizado, clique em Implantar.
Se você quiser atualizar os papéis da sua conta de serviço, clique na guia Permissões.
Os principais são usuários, grupos, domínios ou contas de serviço. Para atualizar um principal:
- Encontre a linha que contém o principal.
- Clique em Editar principal linha de comando.
- Clique em Adicionar outro função ou clique em Excluir de rede.
Se você estiver adicionando um papel, na lista Selecionar um papel, escolha uma a função apropriada.
Para adicionar outro papel, clique em Adicionar outro papel.
Clique em Salvar.
gcloud
Abra um terminal.
Encontre o nome do fluxo de trabalho que você quer atualizar. Se você não souber o nome dele, insira o seguinte comando para listar todos os fluxos de trabalho:
gcloud workflows list
Localize o arquivo YAML ou JSON em que a origem do fluxo de trabalho está salva, como
WORKFLOW_NAME.YAML
ouWORKFLOW_NAME.JSON
.É possível atualizar um fluxo de trabalho existente para alterar a origem, descrição rótulos, variáveis de ambiente, nível de registro de chamadas, chave de criptografia ou conta de serviço associada usando
gcloud workflows deploy
kubectl.Você precisa especificar o nome do fluxo de trabalho que você quer atualizar e a origem dele. No entanto, o restante das flags é opcional. Para remover uma chave de criptografia gerenciada pelo cliente, use a flag
--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
Substitua:
WORKFLOW_NAME
: obrigatório. O nome do fluxo de trabalho.CALL_LOGGING_LEVEL
: opcional. Nível de registro de chamadas a ser aplicado ao fluxo de trabalho. Pode ser um dos seguintes:none
: nenhum nível de registro foi especificado. Esse é o padrão. Um nível de registro de execução tem precedência sobre qualquer nível de registro de fluxo de trabalho, a menos que o nível de registro de execução não seja especificado (o padrão). Nesse caso, o nível de registro de fluxo de trabalho é aplicado.log-errors-only
: registra todas as exceções identificadas. ou quando uma chamada é interrompida devido a uma exceção.log-all-calls
: registra todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os resultados delas.log-none
: nenhum registro de chamadas.
DESCRIPTION
: opcional. Uma descrição do de desenvolvimento de software.LABEL_KEY=LABEL_VALUE
: opcional. Lista de pares de chave-valor de rótulos que ajudam a organizar suas instâncias do Google Cloud, por exemplo,name=wrench
. Para mais informações, consulte O que são rótulos? Os rótulos do fluxo de trabalho são herdados pelas execuções do fluxo de trabalho. Para visualizar rótulos de execução, use o métodoworkflows.executions.list
para listar e filtrar execuções de fluxo de trabalho.ENV_KEY=ENV_VALUE
: opcional. Lista de pares de chave-valor da variável de ambiente. Por exemplo,MONTH=January
. Para mais informações, consulte Use variáveis de ambiente.ENCRYPT_KEY
: opcional. Uma instância do Cloud KMS chave que o fluxo de trabalho deve usar para criptografia de dados no formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
: Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. A conta de serviço que seu fluxo de trabalho usará para acessar outros serviços do Google Cloud. Se você quiser atualizar os papéis da sua conta de serviço, consulte Conceder permissão a um fluxo de trabalho para acessar recursos do Google Cloud e Gerenciar o acesso a projetos, pastas e organizações.YAML_OR_JSON_SOURCE_FILE
: obrigatório. A fonte para o fluxo de trabalho em formato YAML ou JSON. Por exemplo,myFirstWorkflow.yaml
.
REST
Para atualizar um fluxo de trabalho existente, use o
projects.locations.workflows.patch
e, opcionalmente, usar o parâmetro de consulta updateMask
para especificar uma lista
de campos a serem atualizados.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
WORKFLOW_NAME
: o nome do seu fluxo de trabalho, por exemplo,myFirstWorkflow
.DESCRIPTION
: opcional. Uma descrição do seu fluxo de trabalho. Não pode ter mais de 1.000 caracteres Unicode.LABEL_KEY
eLABEL_VALUE
: opcional. Um mapa de marcador pares de chave-valor que ajudam a organizar as instâncias do Google Cloud. Por exemplo:{"name": "wrench", "mass": "1kg", "count": "3"}
Para mais informações, consulte O que são rótulos? Fluxo de trabalho os rótulos são herdados pelas execuções do fluxo de trabalho. Para conferir os rótulos de execução, use o métodoworkflows.executions.list
para listar e filtrar execuções de fluxo de trabalho.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
: opcional. A conta de serviço que seu fluxo de trabalho vai usar para acessar outros serviços do Google Cloud. O ID do projeto é o ID do seu projeto do Google Cloud. Para mais informações, neste documento, consulte Crie uma conta de serviço.ENCRYPT_KEY
: opcional. Uma chave do Cloud KMS que o fluxo de trabalho precisa usar para criptografia de dados no formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
. Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.CALL_LOGGING_LEVEL
: opcional. O nível de registro de chamadas a ser aplicado durante a execução. O padrão é que nenhum nível de registro seja especificado e o nível de registro do fluxo de trabalho seja aplicado. Para mais informações, consulte Enviar registros para o Logging. Um dos seguintes:CALL_LOG_LEVEL_UNSPECIFIED
: nenhum nível de geração de registros foi especificado, e o nível de registro do fluxo de trabalho será aplicado. Esse é o padrão. Caso contrário, o nível de registro de execução é aplicado e tem precedência sobre o nível de registro do fluxo de trabalho.LOG_ERRORS_ONLY
: registra todas as exceções capturadas. ou quando uma chamada é interrompida devido a uma exceção.LOG_ALL_CALLS
: registra todas as chamadas para subfluxos de trabalho ou funções de biblioteca e os resultados delas.LOG_NONE
: nenhum registro de chamadas.
ENV_KEY
eENV_VALUE
: opcional. Um mapa de pares de chave e valor de variáveis de ambiente, por exemplo,{ "month": "January", "day": "Monday"}
. Para mais informações, consulte Use variáveis de ambiente.SOURCE_CODE
: o fluxo de trabalho reduzido definição. Exemplo:{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
LOCATION
: o região em que o fluxo de trabalho é implantado, por exemplo,us-central1
.UPDATE_FIELDS
: opcional. Um lista de campos separada por vírgulas a ser atualizada. Se não for informado, todo o fluxo de trabalho será atualizado. Por exemplo,description,callLogLevel
.
Corpo JSON da solicitação:
{ "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 a solicitação, expanda uma destas opções:
Se houver êxito, o corpo da resposta conterá uma instância 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 }
Se o valor de "done"
for false
, a operação ainda estará em andamento.
Excluir um fluxo de trabalho
É possível excluir um fluxo de trabalho existente. Quando um fluxo de trabalho é excluído, e cancela todas as execuções ativas do fluxo de trabalho.
Console
No console do Google Cloud, abra a página Workflows.
Clique no nome do fluxo de trabalho que você quer excluir e em
Excluir.No prompt para confirmar a exclusão, digite o nome do fluxo de trabalho.
Clique em Confirmar.
gcloud
Abra um terminal.
Encontre o nome do fluxo de trabalho que você quer excluir. Se você não souber o nome dele, insira o seguinte comando para listar todos os fluxos de trabalho:
gcloud workflows list
Exclua um fluxo de trabalho usando o Comando
gcloud workflows delete
:gcloud workflows delete WORKFLOW_NAME
Substitua
WORKFLOW_NAME
pelo nome do seu fluxo de trabalho.
REST
Para excluir um fluxo de trabalho com um nome especificado, use o método
projects.locations.workflows.delete
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
WORKFLOW_NAME
: o nome do fluxo de trabalho que você quer excluir.PROJECT_ID
: o ID do projeto do Google Cloud.LOCATION
: a região em que o fluxo de trabalho é implantado, por exemplo,us-central1
.
Para enviar a solicitação, expanda uma destas opções:
Se houver êxito, o corpo da resposta conterá uma instância 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 }
Se o valor de "done"
for false
, a operação ainda estará em andamento.