Um fluxo de trabalho no CloudFlow consiste em uma série de estados de tarefa. Cada estado funciona como uma unidade independente que representa uma operação ou service específico. Crie um fluxo de trabalho a partir de uma tela em branco no console do CloudFlow para descrever e gerenciar seus processos de negócios.
Pré-requisitos
Uma função para invocar — O fluxo de trabalho de exemplo neste tópico usa um estado de tarefa InvokeFunction, que invoca uma função existente. Para obter o ARN da função, consulte Create an event-triggered function.
Uma função para integração com cloud services — Se o fluxo de trabalho se integrar a cloud services, incluindo o CloudFlow, configure uma função com a access policy necessária. Especifique essa função na configuração do fluxo de trabalho.
Procedimento
Faça logon no console do CloudFlow. Na barra de menus superior, selecione uma região.
Na página Workflows, clique em Create Workflow.
-
Na caixa de diálogo Create Workflow, selecione Use Blank Canvas. Em Workflow mode, escolha Express Mode. Mantenha as configurações padrão dos demais parâmetros.
NotaEste tópico usa um fluxo de trabalho no modo expresso como exemplo. Para comparar os modos compatíveis com o CloudFlow antes de escolher, consulte Standard and express modes.
-
Na página Edit Workflow, defina o fluxo de trabalho por um dos métodos a seguir:
CloudFlow Studio — Construa o fluxo de trabalho visualmente em uma tela. Arraste os estados para a área de desenho e configure cada um no painel de propriedades.
Edição YAML — Escreva a definição do fluxo de trabalho como código YAML em um editor de código. O diagrama ao lado do editor reflete automaticamente a definição.
Ambos os métodos definem o mesmo fluxo de trabalho, e você pode alternar entre eles durante a edição. Conclua as etapas na aba do método escolhido e prossiga com os passos restantes deste procedimento.
CloudFlow Studio
Para definir o fluxo de trabalho no CloudFlow Studio
Na aba CloudFlow Studio, arraste os estados e nós de fluxo necessários para a tela. Em diagramas existentes, reposicione os nós para ajustar o layout do processo de negócio conforme necessário.
Clique em um estado na tela e configure suas Basic Settings, Input Settings, Output Settings e Error Handling no painel de propriedades à direita. Repita esta etapa para cada estado no diagrama.
Para o estado de tarefa InvokeFunction usado como exemplo neste tópico, clique no estado InvokeFunction na tela. Na aba Basic Settings, defina Function como myfunction, Version or alias como LATEST e Function invocation method como Sync invocation.
Principais parâmetros do estado de tarefa InvokeFunction
A tabela a seguir descreve os principais parâmetros do estado de tarefa InvokeFunction. Mantenha os valores padrão dos demais parâmetros.
Tipo de configuração
Parâmetro
Descrição
Exemplo
Basic Settings
Status Name
Nome do estado. Use um nome descritivo que indique a função do estado.
InvokeFunction
Function
Nome da função a ser invocada.
myfunction
Version or alias
Versão ou alias da função a ser invocada.
LATEST
Function invocation method
Define se a invocação da função ocorre de forma síncrona ou assíncrona. Para mais detalhes sobre os métodos de invocação, consulte Function invocation and triggers.
Sync invocation
Request payload
Payload que aciona a execução da função. Há suporte aos formatos YAML e JSON.
{"key1": "value1", "key2.$": "$.myStateInput.key", "key3": 100}Next state
Próximo estado para o qual o fluxo transicionará. As alterações entram em vigor em tempo real.
Hello World
Error Handling
Error retry
Política de nova tentativa aplicada quando ocorre um erro. Clique em Add Retry abaixo para adicionar uma ou mais políticas.
Error type
Tipos de erro correspondentes. Selecione um ou mais tipos.
FC.BadResponse
Maximum retries
Número máximo de tentativas permitidas.
5
Retry interval (seconds)
Intervalo entre as tentativas, em segundos. O valor máximo permitido é 86400.
3
Backoff multiplication factor
Multiplicador que define o próximo intervalo de tentativa como um múltiplo do intervalo atual.
1
Maximum backoff (seconds)
Tempo máximo, em segundos, para novas tentativas que usam backoff exponencial.
5
Error/exception capture
Recuperação para um estado desejado quando ocorre um erro ou exceção. Clique em Add Capture Rule abaixo para adicionar regras de captura.
Error type
Tipos de erro correspondentes. Selecione um ou mais tipos.
FC.EntityTooLarge
Fallback state
Estado de destino para onde o fluxo retorna quando o erro especificado é capturado.
Hello World
Result return
Quando o erro especificado é capturado e o retorno de resultado está ativado, o erro é adicionado à entrada da etapa de fallback. Há suporte aos formatos YAML e JSON.
{"key": "hello world"}Para especificar a função, a versão ou alias e o método de invocação via script YAML em vez do formulário, clique em Switch to YAML Editing no canto superior direito. O script YAML a seguir apresenta um exemplo:
invocationType: Sync resourceArn: acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST body: key: valueFiltragem de entrada e saída
Na aba Input Settings, configure a filtragem da entrada. As opções disponíveis são:
Usar JSONPath para selecionar parâmetros específicos — No editor de código abaixo, insira uma expressão de filtro para usar JSONPath e selecionar um subconjunto do objeto de parâmetros como entrada do nó.
Passar a entrada original para o nó — Usa a entrada original do próprio nó como sua entrada efetiva.
Construir parâmetros usando um filtro de parâmetros — Usa um filtro para construir novos parâmetros que servirão como entrada do nó.
Na aba Output Settings, configure a filtragem da saída. As opções incluem:
Usar JSONPath para selecionar parâmetros específicos — No editor de código abaixo, insira uma expressão de filtro para usar JSONPath e selecionar um subconjunto da saída válida como resultado do nó.
Passar a entrada original para a saída — Encaminha a entrada original do nó para o fluxo subsequente como saída.
Construir parâmetros usando um filtro de parâmetros — Usa um filtro para gerar novos parâmetros como saída do nó.
Os filtros de parâmetros aceitam formatos YAML e JSON. O código YAML a seguir ilustra um exemplo de filtro de parâmetros:
FieldA: 123 FieldB: string FieldC.$: $InputNotaO tratamento de erros só é obrigatório ao integrar fluxos de trabalho com outros services. Para mais informações, consulte Error handling.
Edição YAML
Para definir o fluxo de trabalho em YAML
Clique na aba YAML ou no botão YAML na barra de navegação superior para alternar para a edição YAML.
-
No editor de código à esquerda, insira o código YAML que define o fluxo de trabalho. O diagrama à direita é atualizado em tempo real. O código a seguir mostra um exemplo de definição de fluxo de trabalho:
Type: StateMachine Name: my-wkfl SpecVersion: v1 StartAt: InvokeFunction States: - Type: Task Name: InvokeFunction Action: FC:InvokeFunction TaskMode: RequestComplete Parameters: invocationType: Sync resourceArn: >- acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST Retry: - Errors: [] Description: 'Retry policy #1' MaxAttempts: 1 IntervalSeconds: 1 Next: Hello World Catch: - Errors: - FC.AccessDenied Description: 'Error capture rule #1' Next: Hello World - Type: Pass Name: Hello World End: true -
Valide o valor de
resourceArnantes de salvar o fluxo de trabalho. Substitua o valor de exemploacs:fc:{regionId}:{accountId}:functions/myfunction/LATESTpelo ARN real da sua função, obtido conforme descrito em Prerequisites. O valor de exemplo usa os seguintes placeholders:regionId: A região da Alibaba Cloud onde a função está localizada, comocn-beijingoucn-hangzhou.accountId: O ID da sua conta Alibaba Cloud.myfunction: O nome real da sua função.LATEST: Indica o uso da versão mais recente da função. Especifique uma versão ou alias diferente conforme necessário.
(Opcional) Clique em Workflow Configuration na parte superior e especifique a descrição do fluxo de trabalho, bem como a função usada para sua execução. A função deve ter a política de acesso necessária, conforme detalhado em Prerequisites.
Clique em Save e em Exit.
Editar um fluxo de trabalho
Edite um fluxo de trabalho existente para alterar sua definição, descrição ou a função usada em sua execução.
Faça logon no console do CloudFlow. Na barra de menus superior, selecione uma região.
Na página Workflows, clique no fluxo de trabalho que deseja editar.
No canto superior direito da página de detalhes do fluxo de trabalho, clique em Edit Workflow e selecione CloudFlow Studio editing ou YAML editing.
-
Modifique o fluxo de trabalho:
No CloudFlow Studio, adicione ou remova estados de tarefa, ou altere as Basic Settings, Input Settings, Output Settings ou Error Handling de um estado. Para descrições dos parâmetros, consulte a tabela de parâmetros principais em Procedure.
Na edição YAML, modifique diretamente a definição do fluxo de trabalho. O diagrama na área gráfica à direita refletirá suas alterações instantaneamente.
(Opcional) Para alterar a descrição do fluxo de trabalho ou a função de execução, clique em Workflow Configuration na parte superior.
Clique em Save e em Exit.
Próximos passos
Após salvar o fluxo de trabalho, execute-o para confirmar que a definição funciona conforme o esperado. Para instruções detalhadas, consulte Execute a workflow.
Para executar um fluxo de trabalho agendado, consulte Workflow scheduling. Para conectar o fluxo de trabalho a outros cloud services, consulte Workflow integrations.