Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Namespace: Microsoft.Azure. Workflows.Sdk
Define o contrato de encadeamento fluente para compor operações de workflow em pipelines de execução sequenciais e paralelas usando o Then() padrão de método. Tanto o IWorkflowOperation como o OperationChain implementam esta interface para que possas compor fluxos de trabalho lineares e ramificados de forma fluente.
Usage
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var compose = WorkflowActions.BuiltIn.Compose(inputs: () => "Hello").WithName("Greet");
var response = WorkflowActions.BuiltIn.Response(responseBody: () => $"{compose.Output}").WithName("Reply");
trigger
.Then(compose)
.Then(response);
Methods
Então(IWorkflowAction)
Encadeia uma IWorkflowAction subsequente para ser executada após o nó atual ser concluído com sucesso. Esta é a sobrecarga padrão para construir fluxos de trabalho sequenciais.
OperationChain Then(IWorkflowAction action)
| Name | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| ação | A ação para adicionar à cadeia atual. | IWorkflowAction | Sim |
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var compose = WorkflowActions.BuiltIn.Compose(inputs: () => "Hello").WithName("Greet");
var response = WorkflowActions.BuiltIn.Response(responseBody: () => $"{compose.Output}").WithName("Reply");
trigger
.Then(compose)
.Then(response);
Then(IWorkflowAction, FlowStatus[])
Chains uma subsequente IWorkflowAction com condições explícitas FlowStatus . Use esta sobrecarga quando a ação anexada só deve ser executada depois de a ação anterior atingir um dos estados especificados.
OperationChain Then(IWorkflowAction action, FlowStatus[] runAfter)
| Name | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| ação | A ação para adicionar à cadeia atual. | IWorkflowAction | Sim |
| runAfter | Os valores de estado que permitem a execução da ação anexada. | FlowStatus[] | Sim |
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var process = WorkflowActions.BuiltIn.Compose(inputs: () => "Process").WithName("Process");
var errorHandler = WorkflowActions.BuiltIn.Compose(inputs: () => "Error occurred").WithName("HandleError");
trigger
.Then(process)
.Then(errorHandler, runAfter: new[] { FlowStatus.Failed, FlowStatus.TimedOut });
Então(IWorkflowAction, RunAfter[])
Encadeia uma IWorkflowAction subsequente com configuração explícita por predecessor RunAfter . Use esta sobrecarga em cenários de ventilação, onde a próxima ação tem de esperar por várias cadeias predecessoras.
OperationChain Then(IWorkflowAction action, RunAfter[] runAfter)
| Name | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| ação | A ação a adicionar após a conclusão dos predecessores configurados. | IWorkflowAction | Sim |
| runAfter | As definições de run-after por predecessor que controlam quando a ação é executada. | RunAfter[] | Sim |
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var leftChain = trigger
.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Left").WithName("Left"));
var rightChain = trigger
.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Right").WithName("Right"));
var merged = WorkflowActions.BuiltIn.Compose(inputs: () => "Done").WithName("Merged");
leftChain
.Join(rightChain)
.Then(merged, runAfter: new[]
{
new RunAfter(leftChain, FlowStatus.Succeeded),
new RunAfter(rightChain, FlowStatus.Succeeded),
});
Então(Func<IChainableNode, OperationChain[]>)
Divide o nó atual em múltiplos ramos paralelos. O callback recebe o IChainableNode atual e deve devolver instâncias OperationChain que partilhem o mesmo nó raiz.
OperationChain Then(Func<IChainableNode, OperationChain[]> branches)
| Name | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| branches | Um callback que cria um ou mais ramificações a partir do nó atual. | Func<IChainableNode, OperationChain[]> | Sim |
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var branch1 = WorkflowActions.BuiltIn.Compose(inputs: () => "Branch 1").WithName("Branch1");
var branch2 = WorkflowActions.BuiltIn.Compose(inputs: () => "Branch 2").WithName("Branch2");
var merged = WorkflowActions.BuiltIn.Compose(inputs: () => "Merged").WithName("Merged");
trigger
.Then(parent => new[]
{
parent.Then(branch1),
parent.Then(branch2),
})
.Then(merged);
Conteúdo relacionado
- Definição da Classe AgentToolContext
- Definição da Interface de Ação IVariableWorkflow
- Definição da Interface IWorkflowAction
- Definição da Interface IWorkflowOperation
- Definição da Interface IWorkflowProvider
- Definição da Interface IWorkflowTrigger
- Definição da Classe OperationChain
- Definição de Interfaces de Ação de Fluxo de Trabalho Tipado
- Definição de Interfaces de Gatilho de Fluxo de Trabalho Tipado
- Definição da Classe WorkflowActionBase
- Definição da Classe WorkflowActions
- Definição da Classe WorkflowBuiltInActions
- Definição de Classe WorkflowBuiltInTriggers
- Definição de Classe WorkflowContext
- Definição da Classe WorkflowControlControlActions
- Definição de Classe WorkflowFactory
- Definição da Classe WorkflowManagedActions
- Definição de Classe WorkflowManagedTriggers
- Definição de Classe WorkflowProviderExtensions
- Definição da Classe WorkflowTriggerBase
- Definição de Classe WorkflowTriggers
- Definição da Classe WorkflowVariableActions