Todos os produtos
Search
Central de documentação

CloudFlow:Introdução

Última atualização: Aug 26, 2026

Este tópico descreve os conceitos básicos da Flow Definition Language e fornece exemplos de uso.

Conceitos básicos

A Flow Definition Language (FDL) define a lógica de negócios. Durante a execução de um fluxo, o service Serverless Workflow executa as etapas em sequência conforme a definição do fluxo. Na FDL, um fluxo contém etapas, que podem ser atômicas e simples, como task, succeed, fail, wait e pass. Também podem ser etapas complexas de controle, como choice, parallel e foreach. Combine essas etapas para construir lógicas de negócios complexas. Por exemplo, uma ramificação de uma etapa paralela pode conter uma sequência de etapas. Se ocorrer um erro durante a execução, a FDL oferece os recursos retry e catch para tratar a falha.

As etapas da FDL assemelham-se a funções em uma linguagem de programação, e combiná-las equivale a invocar funções. Os dados trafegam entre as etapas por meio de entradas e saídas. Cada etapa utiliza variáveis locais para armazenar dados. Caso uma etapa contenha outra, a etapa externa atua como pai e a interna como filho.

Ao definir um fluxo, utilize as seguintes etapas:

  • Utilize uma etapa pass como marcador para planejar a estrutura básica do fluxo.

  • Use uma etapa task para invocar uma função no Function Compute.

  • Use uma etapa wait para pausar a execução do fluxo por um período determinado.

  • Use uma etapa choice para definir diferentes caminhos de execução.

  • Use uma etapa succeed ou fail para interromper o fluxo antecipadamente.

  • Use uma etapa parallel para executar múltiplas ramificações simultaneamente.

  • Use uma etapa foreach para processar dados de array em paralelo.

Um fluxo possui as seguintes propriedades:

  • version (Obrigatório): A versão do fluxo. Apenas a versão v1 é suportada.

  • type (Obrigatório): O tipo da definição. Defina este valor como flow.

  • steps (Obrigatório): A sequência de etapas no fluxo. Após a execução bem-sucedida de uma etapa, a próxima da sequência é iniciada. Para encerrar o fluxo antecipadamente, use a propriedade end da etapa ou uma etapa succeed ou fail.

  • inputMappings (Opcional): O mapeamento de entrada. A variável $input referenciada neste mapeamento corresponde ao parâmetro Input da requisição da API StartExecution.

  • outputMappings (Opcional): O mapeamento de saída. A variável $local referenciada aqui é um objeto JSON que armazena o resultado da execução de cada etapa na sequência.

    Nota

    Caso você não especifique um mapeamento de saída,

    $local

    será utilizado como a saída final do fluxo.

  • timeoutSeconds (Opcional): O tempo limite para o fluxo, em segundos. Se a duração da execução ultrapassar o período especificado, a execução expira.

Exemplos

  • O fluxo de exemplo abaixo contém uma etapa task que invoca uma função no Function Compute.

    version: v1
    type: flow
    steps:
      - type: task
        name: hello
        resourceArn: acs:fc:{region}:{accountID}:services/fnf_test/functions/hello      
  • O próximo exemplo apresenta uma sequência de duas etapas, step1 e step4. A primeira, step1, é uma etapa pai que engloba duas etapas filhas: step2 e step3.

    version: v1
    type: flow
    steps:
      - type: parallel
        name: step1
        branches:
          - steps:
            - type: pass
              name: step2
          - steps:
            - type: pass
              name: step3
      - type: pass
        name: step4       

Mais informações

Para obter mais detalhes sobre os recursos da Flow Definition Language, consulte os seguintes tópicos: