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

Azure Durable Function(Python V2编程模型)Activity Trigger未触发问题

排查Azure Durable Functions Activity Trigger未触发问题

核心排查方向

  • Activity函数命名与Orchestrator调用匹配性
    确认Orchestrator中调用Activity的名称(如call_activity("MyActivity", input))与Activity函数的@activity_trigger装饰器指定的名称完全一致,V2模型下名称区分大小写。
  • Activity函数签名正确性
    检查Activity函数参数是否符合V2模型要求:需使用@activity_trigger装饰参数,且参数类型要与Orchestrator传递的输入匹配。示例:
    @app.activity_trigger(input_name="input_data")
    def MyActivity(input_data: str):
        return f"Processed: {input_data}"
    
  • host.json配置完整性
    确认host.json已正确启用Durable扩展并配置V2模型,示例配置:
    {
        "version": "2.0",
        "extensions": {
            "durableTask": {
                "hubName": "DurableFunctionsHub",
                "storageProvider": {
                    "connectionStringName": "AzureWebJobsStorage"
                }
            }
        },
        "featureFlags": {
            "EnableWorkerIndexing": true
        }
    }
    
  • 存储资源权限与访问
    验证函数应用的连接字符串或系统身份对Azure存储账户有足够权限(Durable依赖存储队列、表等资源),可通过Azure门户查看存储账户访问日志,排查是否存在Activity相关的访问失败记录。
  • 日志深度排查
    在host.json中启用Durable跟踪日志,细化日志粒度:
    "logging": {
        "logLevel": {
            "DurableTask": "Information",
            "Function.MyActivity": "Information"
        }
    }
    
    重点查看Orchestrator日志中是否有Scheduling activity条目,以及后续是否有Activity completed或失败记录。若仅存在调度日志无执行记录,需检查函数worker进程是否正常运行。
  • V2模型兼容性检查
    确保所有函数均使用V2模型装饰器(@app.route()、@app.orchestration_trigger()、@app.activity_trigger()),禁止混合V1和V2模型代码(如同时存在function.json和V2装饰器定义的函数)。

快速验证步骤

  1. 简化Activity函数为仅返回固定值,排除业务逻辑异常干扰。
  2. 在Orchestrator中使用call_activity_with_retry调用Activity并设置超时,观察是否触发重试日志。
  3. 重启函数应用,排除worker进程缓存导致的加载问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:22:13