Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Namespace: Microsoft.Azure. Workflows.Sdk
WorkflowFactory è il punto di ingresso principale per definire e registrare i flussi di lavoro App per la logica di Azure. Crea flussi di lavoro con stato, senza stato e agenti a partire da grafi radicati nei trigger costruiti con WorkflowTriggers, WorkflowActions e OperationChain.
Usage
// Stateful workflow
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
trigger.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Hello").WithName("Greet"));
var stateful = WorkflowFactory.CreateStatefulWorkflow("MyStatefulFlow", trigger);
// Stateless workflow
var timer = WorkflowTriggers.BuiltIn.CreateRecurrenceTrigger();
timer.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Tick").WithName("Process"));
var stateless = WorkflowFactory.CreateStatelessWorkflow("MyStatelessFlow", timer);
// Agent workflow
var agentTrigger = WorkflowTriggers.BuiltIn.CreateConversationalAgentTrigger();
agentTrigger.Then(WorkflowActions.BuiltIn.Agent(
AgentModelType.OpenAI, "gpt-4", new AgentModelSettings(), "conn",
messages: () => new[] { new AgentPromptMessage { Role = "system", Content = "Hello" } }));
var agent = WorkflowFactory.CreateAgentWorkflow("MyAgentFlow", agentTrigger);
Methods
CreateStatefulWorkflow(String, IWorkflowTrigger)
Crea un flusso di lavoro con stato duraturo da un IWorkflowTrigger. Questo sovraccarico si verifica InvalidOperationException se il trigger fornito è un ConversationalFlowTrigger.
public static FlowDefinition CreateStatefulWorkflow(string flowName, IWorkflowTrigger trigger)
| Name | Description | TIPO | Required |
|---|---|---|---|
| flowName | Il nome unico del flusso di lavoro. | corda | Sì |
| trigger | Il trigger che avvia il grafico del flusso di lavoro. | IWorkflowTrigger | Sì |
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
trigger.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Hello").WithName("Greet"));
var flow = WorkflowFactory.CreateStatefulWorkflow("MyStatefulFlow", trigger);
CreateStatefulWorkflow(String, OperationChain)
Crea un flusso di lavoro duraturato e con stato da una OperationChain. Questo sovraccarico estrae il grilletto dall'avvio della catena e si lancia InvalidOperationException se la catena non parte con un IWorkflowTrigger o se quel trigger è un ConversationalFlowTrigger.
public static FlowDefinition CreateStatefulWorkflow(string flowName, OperationChain chain)
| Name | Description | TIPO | Required |
|---|---|---|---|
| flowName | Il nome unico del flusso di lavoro. | corda | Sì |
| catena | La catena di operazioni il cui nodo iniziale deve essere un trigger. | OperationChain | Sì |
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var chain = trigger
.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Step 1").WithName("Step1"))
.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Step 2").WithName("Step2"));
var flow = WorkflowFactory.CreateStatefulWorkflow("MyStatefulFlow", chain);
CreateStatelessWorkflow(String, IWorkflowTrigger)
Crea un flusso di lavoro leggero e senza stato da un IWorkflowTrigger. Questo sovraccarico si verifica InvalidOperationException se il trigger fornito è un ConversationalFlowTrigger.
public static FlowDefinition CreateStatelessWorkflow(string flowName, IWorkflowTrigger trigger)
| Name | Description | TIPO | Required |
|---|---|---|---|
| flowName | Il nome unico del flusso di lavoro. | corda | Sì |
| trigger | Il trigger che avvia il grafico del flusso di lavoro. | IWorkflowTrigger | Sì |
var timer = WorkflowTriggers.BuiltIn.CreateRecurrenceTrigger();
timer.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Tick").WithName("Process"));
var flow = WorkflowFactory.CreateStatelessWorkflow("MyStatelessFlow", timer);
CreateStatelessWorkflow(String, OperationChain)
Crea un flusso di lavoro leggero senza stato da una OperationChain. Questo sovraccarico estrae il grilletto dall'avvio della catena e si lancia InvalidOperationException se la catena non parte con un IWorkflowTrigger o se quel trigger è un ConversationalFlowTrigger.
public static FlowDefinition CreateStatelessWorkflow(string flowName, OperationChain chain)
| Name | Description | TIPO | Required |
|---|---|---|---|
| flowName | Il nome unico del flusso di lavoro. | corda | Sì |
| catena | La catena di operazioni il cui nodo iniziale deve essere un trigger. | OperationChain | Sì |
var timer = WorkflowTriggers.BuiltIn.CreateRecurrenceTrigger();
var chain = timer.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Tick").WithName("Process"));
var flow = WorkflowFactory.CreateStatelessWorkflow("MyStatelessFlow", chain);
CreateAgentWorkflow(String, ConversationalFlowTrigger)
Crea un flusso di lavoro di agente da un ConversationalFlowTriggerfile di . I flussi di lavoro degli agenti richiedono un trigger conversazionale e non possono essere creati da trigger HTTP standard o di ricorrenza.
public static FlowDefinition CreateAgentWorkflow(string flowName, ConversationalFlowTrigger trigger)
| Name | Description | TIPO | Required |
|---|---|---|---|
| flowName | Il nome unico del flusso di lavoro. | corda | Sì |
| trigger | Il trigger conversazionale che avvia il flusso di lavoro dell'agente. | ConversazionalFlusso Trigger | Sì |
var agentTrigger = WorkflowTriggers.BuiltIn.CreateConversationalAgentTrigger();
agentTrigger.Then(WorkflowActions.BuiltIn.Agent(
AgentModelType.OpenAI,
"gpt-4",
new AgentModelSettings(),
"conn",
messages: () => new[] { new AgentPromptMessage { Role = "system", Content = "Hello" } }));
var flow = WorkflowFactory.CreateAgentWorkflow("MyAgentFlow", agentTrigger);
CreateAgentWorkflow(String, OperationChain)
Crea un flusso di lavoro di agente da una OperationChain. Questo sovraccarico estrae il trigger dall'avvio della catena e richiede che il nodo di partenza sia un ConversationalFlowTrigger.
public static FlowDefinition CreateAgentWorkflow(string flowName, OperationChain chain)
| Name | Description | TIPO | Required |
|---|---|---|---|
| flowName | Il nome unico del flusso di lavoro. | corda | Sì |
| catena | La catena di operazioni il cui nodo iniziale deve essere un trigger conversazionale. | OperationChain | Sì |
var agentTrigger = WorkflowTriggers.BuiltIn.CreateConversationalAgentTrigger();
var chain = agentTrigger.Then(WorkflowActions.BuiltIn.Agent(
AgentModelType.OpenAI,
"gpt-4",
new AgentModelSettings(),
"conn",
messages: () => new[] { new AgentPromptMessage { Role = "system", Content = "Hello" } }));
var flow = WorkflowFactory.CreateAgentWorkflow("MyAgentFlow", chain);
ConfigureServices
Registra i servizi di runtime SDK di Logic Apps in un IServiceCollection, inclusi l'infrastruttura di inizializzazione del flusso di lavoro e i servizi di runtime richiesti.
public static void ConfigureServices(IServiceCollection services)
| Name | Description | TIPO | Required |
|---|---|---|---|
| services | La raccolta di servizi di iniezione di dipendenza da configurare. | CollezioneIservice | Sì |
IServiceCollection services = new ServiceCollection();
WorkflowFactory.ConfigureServices(services);
Contenuto correlato
- Definizione della classe AgentToolContext
- Definizione dell'interfaccia IChainableNode
- Definizione dell'Interfaccia IVariableWorkflowAction
- Definizione dell'interfaccia IWorkflowAction
- Definizione dell'interfaccia IWorkflowOperation
- Definizione dell'interfaccia IWorkflowProvider
- Definizione dell'interfaccia IWorkflowTrigger
- Definizione della classe OperationChain
- Definizione delle Interfacce di Azione del Workflow Tipizzato
- Definizione delle Interfacce di Trigger del Flusso di Lavoro Tipizzato
- Definizione della classe WorkflowActionBase
- Definizione della classe WorkflowActions
- Definizione di classe WorkflowBuiltInActions
- Definizione di classe WorkflowBuiltInTriggers
- Definizione della classe WorkflowContext
- Definizione della classe WorkflowControlControlActions
- Definizione della classe WorkflowManagedActions
- Definizione della classe WorkflowManagedTriggers
- Definizione di classe WorkflowProviderExtensions
- Definizione della classe WorkflowTriggerBase
- Definizione di classe WorkflowTriggers
- Definizione della classe WorkflowVariableActions