Como criar e atualizar um fluxo de trabalho

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

Antes de começar

  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. Ative a API Workflows.

    Ativar a API Workflows
  5. Crie uma conta de serviço se você ainda não tiver uma. Conceda-a aos 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 "Criar conta de serviço"
    2. Selecione Criar conta de serviço.
    3. No campo Nome da conta de serviço, insira um nome.
    4. Clique em Criar.
    5. Na lista Papel, selecione Logging > Gravador de registros.

      Observação: o campo Papel autoriza a conta de serviço a acessar recursos. Para criar, atualizar e executar fluxos de trabalho, atribua o papel roles/workflows.editor. Para enviar registros ao Cloud Logging, atribua o papel roles/logging.logWriter. Se você estiver desenvolvendo um aplicativo de produção, sempre conceda os papéis menos permissivos possíveis. Para mais informações, consulte Como atribuir papéis a contas de serviço. 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. Substitua [NAME] por um nome para a conta de serviço.

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

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

      Substitua o seguinte:
      • [PROJECT_ID]: o ID do projeto;
      • [NAME]: o nome da conta de serviço que você acabou de criar.
      Observação: o campo Papel autoriza a conta de serviço a acessar recursos. Para enviar registros ao Cloud Logging, atribua o papel roles/logging.logWriter. Se você estiver desenvolvendo um aplicativo de produção, sempre conceda os papéis menos permissivos possíveis. Para mais informações, consulte Como atribuir papéis a contas de serviço. Para uma lista de papéis de fluxos de trabalho, consulte a Referência do controle de acesso.

Como criar um fluxo de trabalho

Para criar um fluxo de trabalho, nós o implantamos para disponibilizá-lo 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. Para criar um novo fluxo de trabalho, abra a página "Fluxos de trabalho" no Console do Google Cloud:
    Acessar a página "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. Ele precisa começar com uma letra e terminar com um número ou uma letra.

  4. Escolha us-central1 para a região.

  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 o mínimo de privilégios necessários para acessar os recursos necessários. Para saber mais sobre contas de serviço, consulte Como criar e gerenciar contas de serviço.

  6. Selecione Próxima.

  7. No editor de fluxo de trabalho, insira a definição do seu fluxo de trabalho. Há um exemplo de fluxo de trabalho no Guia de início rápido sobre como usar 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. É possível encontrar um exemplo de fluxo de trabalho no guia de início rápido usando a ferramenta gcloud.

  2. Abra um terminal.

  3. Para implantar o fluxo de trabalho, insira 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 o mínimo de privilégios 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 Como criar e gerenciar contas de serviço.

Como atualizar um fluxo de trabalho

É possível atualizar um fluxo de trabalho atual 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 de progresso. Somente as futuras execuções do fluxo de trabalho usarão as configurações atualizadas.

Console

  1. Para atualizar um fluxo de trabalho atual, abra a página "Fluxos de trabalho" no Console do Google Cloud:
    Acessar a página "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 um rótulo. Não é possível editar o nome do fluxo de trabalho.

  4. Selecione Próxima ao concluir suas atualizações iniciais.

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

  6. Selecione Implantar.

gcloud

  1. Localize o arquivo YAML ou JSON em que a origem do fluxo de trabalho atualizada é 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 do fluxo de trabalho, 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 seu 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 Como criar e gerenciar contas de serviço.

    • KEY=VALUE: opcional. Rótulos que você quer adicionar em pares KEY=VALUE em uma lista separada por vírgulas se você adicionar mais de um.

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

    É necessário 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 um hífen:

  • Um número, a partir de um, que é incrementado sempre que você atualiza um fluxo de trabalho.

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

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