You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Event Hub触发器调用Durable Orchestrator后如何获取实例状态查询Webhook

关于Event Hub触发Durable Orchestrator后的状态查询Webhook问题

不需要额外引入HTTP触发器来获取状态查询端点,Durable Functions运行时本身就内置了用于查询Orchestrator实例状态的Webhook——无论你用哪种触发器(包括Event Hub)启动Orchestrator,都可以直接获取这个端点。

具体操作方式:

  • 在你的Event Hub触发器函数中,注入IDurableOrchestrationClient(v2版本)或DurableOrchestrationClient(v1版本)实例。
  • 启动Orchestrator后,调用客户端的CreateCheckStatusResponse方法,生成对应的状态查询URL。
  • 你可以把这个URL存储到数据库、Blob存储或日志中,后续通过向该URL发送GET请求,就能查询目标Orchestrator实例的状态。

示例代码(C#):

[FunctionName("EventHub_StartOrchestrator")]
public static async Task ProcessEventHubMessages(
    [EventHubTrigger("your-event-hub-name", Connection = "EventHubConnectionString")] EventData[] events,
    [DurableClient] IDurableOrchestrationClient orchestrationClient,
    ILogger logger)
{
    foreach (var eventData in events)
    {
        // 启动Orchestrator实例
        string instanceId = await orchestrationClient.StartNewAsync("YourOrchestratorFunction", null, eventData.Body);
        
        // 生成状态查询URL
        var statusResponse = orchestrationClient.CreateCheckStatusResponse(new HttpRequestMessage(), instanceId);
        Uri statusUrl = statusResponse.Headers.Location;
        
        // 存储URL供后续查询使用
        logger.LogInformation($"Orchestrator instance {instanceId} started. Status URL: {statusUrl}");
    }
}

如果需要自定义状态返回格式或添加额外的权限验证,才需要单独创建HTTP触发器函数来封装状态查询逻辑,否则默认的内置Webhook完全可以满足基础的状态查询需求。

内容的提问来源于stack exchange,提问作者suchismita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:38:15