Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Namespace: Microsoft.Azure. Workflows.Sdk
WorkflowFactory ist der primäre Einstiegspunkt zur Definition und Registrierung Azure Logic Apps Workflows. Es erstellt stateful, stateless und agentenbasierte Workflows aus trigger-gerooteten Graphen, die mit WorkflowTriggers, WorkflowActions und OperationChain erstellt werden.
Verwendung
// 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);
Methodik
CreateStatefulWorkflow(String, IWorkflowTrigger)
Schafft einen robusten, zustandsvollen Workflow aus einem IWorkflowTrigger. Diese Überlastung wirft, InvalidOperationException wenn der mitgelieferte Auslöser ein ConversationalFlowTriggerist.
public static FlowDefinition CreateStatefulWorkflow(string flowName, IWorkflowTrigger trigger)
| Name | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
| flowName | Der einzigartige Workflow-Name. | string | Yes |
| trigger | Der Auslöser, der den Workflow-Graphen startet. | IWorkflowTrigger | Yes |
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
trigger.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Hello").WithName("Greet"));
var flow = WorkflowFactory.CreateStatefulWorkflow("MyStatefulFlow", trigger);
CreateStatefulWorkflow(String, OperationChain)
Erstellt einen robusten, zustandsvollen Workflow aus einer OperationChain. Diese Überladung zieht den Trigger aus dem Kettenstart und wirft, InvalidOperationException wenn die Kette nicht mit einem IWorkflowTrigger startet oder wenn dieser Trigger ein ConversationalFlowTriggerist.
public static FlowDefinition CreateStatefulWorkflow(string flowName, OperationChain chain)
| Name | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
| flowName | Der einzigartige Workflow-Name. | string | Yes |
| Kette | Die Operationskette, deren Startknoten ein Trigger sein muss. | OperationChain | Yes |
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)
Erstellt einen leichtgewichtigen, stateless Workflow aus einem IWorkflowTrigger. Diese Überlastung wirft, InvalidOperationException wenn der mitgelieferte Auslöser ein ConversationalFlowTriggerist.
public static FlowDefinition CreateStatelessWorkflow(string flowName, IWorkflowTrigger trigger)
| Name | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
| flowName | Der einzigartige Workflow-Name. | string | Yes |
| trigger | Der Auslöser, der den Workflow-Graphen startet. | IWorkflowTrigger | Yes |
var timer = WorkflowTriggers.BuiltIn.CreateRecurrenceTrigger();
timer.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Tick").WithName("Process"));
var flow = WorkflowFactory.CreateStatelessWorkflow("MyStatelessFlow", timer);
CreateStatelessWorkflow(String, OperationChain)
Erstellt einen leichtgewichtigen, stateless Workflow aus einer OperationChain. Diese Überladung zieht den Trigger aus dem Kettenstart und wirft, InvalidOperationException wenn die Kette nicht mit einem IWorkflowTrigger startet oder wenn dieser Trigger ein ConversationalFlowTriggerist.
public static FlowDefinition CreateStatelessWorkflow(string flowName, OperationChain chain)
| Name | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
| flowName | Der einzigartige Workflow-Name. | string | Yes |
| Kette | Die Operationskette, deren Startknoten ein Trigger sein muss. | OperationChain | Yes |
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)
Erstellt einen Agenten-Workflow aus einer ConversationalFlowTrigger. Agenten-Workflows erfordern einen konversationellen Trigger und können nicht aus Standard-HTTP- oder Recurrence-Triggern erstellt werden.
public static FlowDefinition CreateAgentWorkflow(string flowName, ConversationalFlowTrigger trigger)
| Name | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
| flowName | Der einzigartige Workflow-Name. | string | Yes |
| trigger | Der Gesprächsauslöser, der den Agenten-Workflow startet. | ConversationalFlowTrigger | Yes |
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)
Erstellt einen Agenten-Workflow aus einer OperationChain. Diese Überladung zieht den Trigger aus dem Kettenstart und erfordert, dass der Startknoten ein ConversationalFlowTriggerist.
public static FlowDefinition CreateAgentWorkflow(string flowName, OperationChain chain)
| Name | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
| flowName | Der einzigartige Workflow-Name. | string | Yes |
| Kette | Die Operationskette, deren Startknoten ein konversationeller Auslöser sein muss. | OperationChain | Yes |
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
Registriert die Laufzeitdienste des Logic Apps SDK in einem IServiceCollection, einschließlich der Workflow-Initialisierungsinfrastruktur und den erforderlichen Laufzeitdiensten.
public static void ConfigureServices(IServiceCollection services)
| Name | Beschreibung | Typ | Erforderlich |
|---|---|---|---|
| services | Die Dependency Injection-Service-Sammlung, um zu konfigurieren. | IService-Sammlung | Yes |
IServiceCollection services = new ServiceCollection();
WorkflowFactory.ConfigureServices(services);
Verwandte Inhalte
- AgentToolContext-Klassendefinition
- IChainableNode-Schnittstellendefinition
- IVariableWorkflowAction-Schnittstellendefinition
- IWorkflowAction-Schnittstellendefinition
- IWorkflowOperation-Schnittstellendefinition
- IWorkflowProvider Schnittstellendefinition
- IWorkflowTrigger-Schnittstellendefinition
- OperationChain-Klassendefinition
- Definition von Schnittstellen für typisierte Workflow-Aktionen
- Definition von Schnittstellen für typisierte Workflow-Triggers
- WorkflowActionBase-Klassendefinition
- WorkflowActions Klassendefinition
- WorkflowBuiltInActions Klassendefinition
- WorkflowBuiltInTriggers Klassendefinition
- Definition der WorkflowContext-Klasse
- WorkflowControlActions-Klassendefinition
- WorkflowManagedActions-Klassendefinition
- WorkflowManagedTriggers Klassendefinition
- WorkflowProviderExtensions-Klassendefinition
- WorkflowTriggerBase-Klassendefinition
- WorkflowTriggers Klassendefinition
- WorkflowVariableActions Klassendefinition