Azure Functions中「传入触发事件」定义及相关调用场景问询
Azure Functions 扩容触发事件相关问题解答
问题1:编排器函数调用的活动函数是否算作「传入触发事件」?
不算。
活动函数的执行是由Durable Functions框架通过内部任务中心的控制队列调度的,属于函数应用内部的逻辑流转,并非来自外部系统的触发事件。Azure Functions的自动扩容是基于外部传入的触发器事件(比如队列消息、HTTP请求、事件网格事件等)来计算的。你示例中的代码yield context.df.callActivity('myActivity', {})只是编排器向框架发起的内部任务请求,不会被当作触发扩容的“传入触发事件”。活动函数的资源会在已扩容的主机实例中分配,或由Durable框架调度到现有实例,不会直接触发新的主机实例扩容。
问题2:队列触发器等调用编排器函数是否算作「传入触发事件」?
这里要区分两个环节:
- 队列触发器收到的原始队列消息属于「传入触发事件」,会被计入扩容的事件计数,触发函数应用的自动扩容逻辑。
- 队列函数内部调用
const instanceId = await client.startNew('MyOrchestrator', undefined, {})启动编排器的动作,不算额外的传入触发事件。这个操作是Durable Functions框架内部的实例启动逻辑,不会单独触发新的扩容——扩容的触发依据仍然是最初的队列触发器事件数量。
内容的提问来源于stack exchange,提问作者WillD
相关产品推荐
相关产品推荐

