Guia de início rápido: criar um fluxo de trabalho usando a ferramenta gcloud

Neste guia de início rápido, mostramos como criar, implantar e executar seu primeiro fluxo de trabalho usando a ferramenta de linha de comando gcloud. O fluxo de trabalho envia uma solicitação para uma API de amostra e usa a resposta para criar e enviar uma solicitação para uma API pública. Em seguida, o fluxo de trabalho retorna a resposta da API pública.

Para uma lista de todos os comandos da ferramenta gcloud para o Workflows, consulte a página de referência da ferramenta 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. Instale e inicialize o SDK do Cloud..
  5. 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

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

  7. Instale e inicialize o SDK do Cloud..
  8. Ative a API Workflows.

    gcloud services enable workflows.googleapis.com
  9. Crie e dê um nome à conta de serviço, como sa-name.
    gcloud iam service-accounts create sa-name
  10. Conceda o papel roles/logging.logWriter à conta de serviço.

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

    Substitua PROJECT_ID pelo ID do projeto.

Criar, implantar e executar um fluxo de trabalho

  1. Abra um terminal ou o Cloud Shell.
  2. No diretório inicial, crie um novo arquivo chamado myFirstWorkflow.yaml ou myFirstWorkflow.json.
  3. Copie e cole uma das seguintes opções no novo arquivo e salve-o:

    YAML

    - getCurrentTime:
        call: http.get
        args:
          url: https://us-central1-workflowsample.cloudfunctions.net/datetime
        result: currentTime
    - readWikipedia:
        call: http.get
        args:
          url: https://en.wikipedia.org/w/api.php
          query:
            action: opensearch
            search: ${currentTime.body.dayOfTheWeek}
        result: wikiResult
    - returnResult:
        return: ${wikiResult.body[1]}

    JSON

    [
      {
        "getCurrentTime": {
          "call": "http.get",
          "args": {
            "url": "https://us-central1-workflowsample.cloudfunctions.net/datetime"
          },
          "result": "currentTime"
        }
      },
      {
        "readWikipedia": {
          "call": "http.get",
          "args": {
            "url": "https://en.wikipedia.org/w/api.php",
            "query": {
              "action": "opensearch",
              "search": "${currentTime.body.dayOfTheWeek}"
            }
          },
          "result": "wikiResult"
        }
      },
      {
        "returnResult": {
          "return": "${wikiResult.body[1]}"
        }
      }
    ]
    Esse fluxo de trabalho faz uma chamada para uma API de amostra. O dia da semana retornado é transmitido para a API Wikipedia. Os artigos relevantes na Wikipédia sobre o dia atual da semana são retornados.
  4. Implante o fluxo de trabalho e associe-o à conta de serviço especificada:
    gcloud workflows deploy myFirstWorkflow --source=myFirstWorkflow.yaml \
    --service-account=sa-name@PROJECT_ID.iam.gserviceaccount.com

    Substitua:

    • .yaml: substitua por .json se você tiver copiado a versão JSON do fluxo de trabalho do exemplo.

    • PROJECT_ID: o ID do projeto

  5. Execute o fluxo de trabalho:
    gcloud workflows run myFirstWorkflow

    Isso retorna os resultados da tentativa de execução. A resposta será parecida com esta:

    argument: 'null'
    endTime: '2020-06-23T16:21:35.266171131Z'
    name: projects/123456789012/locations/us-central1/workflows/myFirstWorkflow/executions/f72bc6d4-5ea0-4dfb-bb14-2dae82303120
    result: '["Tuesday","Tuesday Weld","Tuesday Night Music Club","Tuesday (ILoveMakonnen
      song)","Tuesdays with Morrie","Tuesday Group","Tuesday Knight","Tuesday (Burak Yeter
      song)","Tuesday Morning Quarterback","Tuesday Maybe"]'
    startTime: '2020-06-23T16:21:34.826993288Z'
    state: SUCCEEDED
    workflowVersionId: '1'
    
  6. Você implantou e executou seu primeiro fluxo de trabalho.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. Exclua o fluxo de trabalho que você criou:
    gcloud workflows delete myFirstWorkflow
  2. Quando for perguntado se você quer continuar, digite y:

O fluxo de trabalho será excluído.

A seguir