WorkflowBuiltInTriggers 类

命名空间:Microsoft.Azure。Workflows.Sdk

提供工厂方法,用于创建内置工作流触发器,无需使用受管理连接器即可启动逻辑应用的工作流。 通过 WorkflowTriggers 访问该类,使用 WorkflowTriggers.BuiltIn

用法

// HTTP trigger for request-response workflows
var httpTrigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
httpTrigger.Then(WorkflowActions.BuiltIn.Response(
    responseBody: () => "OK").WithName("Reply"));
WorkflowFactory.CreateStatefulWorkflow("HttpFlow", httpTrigger);

// Recurrence trigger for scheduled workflows
var timer = WorkflowTriggers.BuiltIn.CreateRecurrenceTrigger(
    frequency: FlowRecurrenceFrequency.Day, interval: 1);
timer.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Daily task").WithName("Process"));
WorkflowFactory.CreateStatelessWorkflow("ScheduledFlow", timer);

// Conversational trigger for AI agent workflows
var agentTrigger = WorkflowTriggers.BuiltIn.CreateConversationalAgentTrigger();
WorkflowFactory.CreateAgentWorkflow("AgentFlow", agentTrigger);

Methods

创建HttpTrigger

创建 HTTP 请求触发器,返回 IOutputWorkflowTrigger HttpRequestTriggerOutput<>,其输出可访问请求体和下游表达式的头部。

IOutputWorkflowTrigger<HttpRequestTriggerOutput> CreateHttpTrigger(string name = "when_an_HTTP_request_is_received", HttpMethod method = null, JToken requestBodyJsonSchema = null, string relativePath = null)
名称 说明 类型 必需
名字 触发器的名字。 字符串
方法 HTTP 方法过滤器。 HttpMethod
requestBodyJsonSchema 用于请求体验证的JSON模式。 JToken
relativePath 触发端点的相对路径。 字符串
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger(
    name: "MyHttpTrigger",
    method: HttpMethod.Post);

创建会话代理触发器

为代理工作流程创建对话流触发器。 仅在通过 WorkflowFactory 创建的 Agent 工作流类型时使用此触发器。

ConversationalFlowTrigger CreateConversationalAgentTrigger(string name = "When_a_new_chat_session_starts")
名称 说明 类型 必需
名字 对话触发词的名称。 字符串
var agentTrigger = WorkflowTriggers.BuiltIn.CreateConversationalAgentTrigger();

创建复发触发器

创建递发触发器,并返回 IWorkflowTrigger ,按计划启动工作流程。

IWorkflowTrigger CreateRecurrenceTrigger(string name = "recurrence", FlowRecurrenceFrequency frequency = FlowRecurrenceFrequency.Minute, int interval = 1, DateTime? startTime = null, TimeZoneInfo timeZone = null)
名称 说明 类型 必需
名字 复发触发的名称。 字符串
频率 重复频率,如分钟、小时或日。 流量复发频率
间隔 复发间隔。 int
startTime 日程开始时间。 DateTime?
timeZone 时区时间表。 当未提供该值时,实现默认为UTC。 时区信息
var timer = WorkflowTriggers.BuiltIn.CreateRecurrenceTrigger(
    frequency: FlowRecurrenceFrequency.Hour,
    interval: 2,
    timeZone: TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"));