Criar e atualizar um fluxo de trabalho

Nesta página, mostramos como criar um fluxo de trabalho e atualizar um atual no Console do Google Cloud ou usando a ferramenta de linha de comando gcloud.

Antes de começar

Algumas das etapas deste documento podem não funcionar corretamente se sua organização aplicar restrições ao ambiente do Google Cloud. Nesse caso, talvez não seja possível concluir tarefas como criar endereços IP públicos ou chaves de contas de serviço. Se você fizer uma solicitação que retorne um erro sobre restrições, veja como Desenvolver aplicativos em um ambiente restrito do Google Cloud.

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  6. Ative a API Workflows.

    Ativar a API Workflows

Crie uma conta de serviço

Crie uma conta de serviço, caso ainda não tenha uma. Em seguida, conceda a ela os papéis necessários para gerenciar fluxos de trabalho e criar registros.

Console

  1. No Console do Cloud, acesse a página Contas de serviço.

    Acessar a página "Contas de serviço"

  2. Selecione um projeto e clique em Criar conta de serviço.

  3. 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 dela.

  4. Clique em Criar.

  5. Na lista Papel, selecione Logging > Gravador de registros.

    O campo Papel autoriza a conta de serviço a acessar recursos.

    Se você estiver desenvolvendo um app de produção, sempre conceda os papéis menos permissivos possíveis. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações. Para uma lista de papéis de fluxos de trabalho, consulte a Referência do controle de acesso.

  6. Clique em Continuar.

  7. Clique em Concluído.

gcloud

  1. Crie a conta de serviço.

    gcloud iam service-accounts create NAME
  2. Atribua um papel para conceder permissões à conta de serviço.

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

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • NAME: 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 alterar o nome dela.

    A sinalização --role é usada para autorizar a conta de serviço a acessar recursos.

    Se você estiver desenvolvendo um app de produção, sempre conceda os papéis menos permissivos possíveis. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações. Para uma lista de papéis de fluxos de trabalho, consulte a Referência do controle de acesso.

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 criar um fluxo de trabalho, implante-o para que ele fique disponível 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.

Console

  1. No Console do Cloud, acesse a página Fluxos de trabalho:

    Acessar fluxos de trabalho

  2. Selecione Criar.

  3. Insira um nome para o novo 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 letra

  4. Escolha uma região apropriada; por exemplo: us-central1.

  5. Selecione a conta de serviço que você quer que seu fluxo de trabalho use para autenticação com outros serviços 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 saber mais sobre contas de serviço, consulte Criar e gerenciar contas de serviço.

  6. Selecione Próxima.

  7. No editor de fluxo de trabalho, insira a definição para seu fluxo de trabalho. Veja um fluxo de trabalho de exemplo em Guia de início rápido: criar um fluxo de trabalho usando o Console do Cloud.

  8. Selecione Implantar.

gcloud

  1. Verifique se o código-fonte do fluxo de trabalho está salvo em um arquivo YAML ou JSON, como MY_WORKFLOW.YAML ou MY_WORKFLOW.JSON. Veja um exemplo de fluxo de trabalho na página Guia de início rápido: criar um fluxo de trabalho usando a ferramenta gcloud.

  2. Abra um terminal.

  3. Implante o fluxo de trabalho digitando o seguinte comando:

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

    Substitua:

    • MY_WORKFLOW: o nome do fluxo de trabalho.

    • MY_WORKFLOW.YAML: o arquivo de origem a ser usado para o fluxo de trabalho.

    • MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM: Opcional. A conta de serviço que seu fluxo de trabalho usará para acessar outros serviços 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. Se deixado em branco, a conta de serviço padrão será usada. Para saber mais sobre contas de serviço, consulte Criar e gerenciar contas de serviço.

Atualizar um fluxo de trabalho

É possível atualizar um fluxo de trabalho para alterar a origem, a descrição, os rótulos ou a conta de serviço associada. A atualização de um fluxo de trabalho não afeta as execuções em andamento. As configurações atualizadas só serão usadas nas execuções futuras do fluxo de trabalho.

Console

  1. No Console do Cloud, acesse a página Fluxos de trabalho:

    Acessar fluxos de trabalho

  2. Selecione o nome do fluxo de trabalho que você quer atualizar.

  3. Na página Editar fluxo de trabalho, é possível editar a descrição, atualizar a conta de serviço que o fluxo de trabalho usa para autenticação ou adicionar/atualizar um rótulo. Não é possível editar o nome do fluxo de trabalho.

    Os rótulos são pares de chave-valor que ajudam a organizar suas instâncias do Google Cloud. Para mais informações, consulte Criar e gerenciar rótulos.

  4. Selecione Próxima quando terminar as atualizações iniciais.

  5. Para editar a origem do fluxo de trabalho, atualize o código-fonte no editor.

  6. Selecione Implantar.

gcloud

  1. Localize o arquivo YAML ou JSON em que a origem de fluxo de trabalho atualizada está salva, como WORKFLOW_FILE.YAML ou WORKFLOW_FILE.JSON.

  2. Abra um terminal.

  3. 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
    
  4. É possível atualizar a origem, a conta de serviço associada, a descrição ou os rótulos de um fluxo de trabalho:

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

    Substitua:

    • WORKFLOW_NAME: obrigatório. O nome do fluxo de trabalho.

    • WORKFLOW_FILE.YAML: obrigatório. O arquivo de origem do fluxo de trabalho.

    • MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM: Opcional. A conta de serviço que seu fluxo de trabalho usará para acessar outros serviços do Google Cloud. Para saber mais sobre contas de serviço, consulte Criar e gerenciar contas de serviço.

    • KEY=VALUE: opcional. KEY=VALUE pares de rótulos em uma lista separada por vírgulas, se você adicionar mais de um. Os rótulos ajudam a organizar as instâncias do Google Cloud. Para mais informações, consulte Criar e gerenciar rótulos.

    • WORKFLOW_DESCRIPTION: opcional. A descrição que você quer dar ao fluxo de trabalho.

    Você precisa especificar o nome do fluxo de trabalho que você quer atualizar e a origem dele, mas o restante das sinalizações é opcional.

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 é incrementado sempre que você atualiza um fluxo de trabalho.

  • Uma string alfanumérica aleatória de três caracteres.

Por exemplo, 000002-d52 indica um fluxo de trabalho que foi atualizado uma vez. 000001-27f indica um fluxo de trabalho que está na versão inicial.

A seguir