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

普通Azure Function与Durable Azure Function能否共存及函数文件拆分问题

关于Azure Functions的两个常见问题解答

1. 普通Azure Function与Durable Azure Function是否可以共存于同一个Function App中?

完全可以共存。Durable Functions是Azure Functions的扩展能力,只要在Function App中安装了对应语言的Durable扩展包(Python环境下为azure-functions-durable),就能同时部署普通触发型函数(如HTTP、Timer、Blob触发)和Durable编排器、活动函数。实际开发中很常见这种组合,比如用普通HTTP函数作为Durable工作流的入口,或者用Timer触发函数定时启动Durable编排,同时保留其他独立的普通处理函数。

2. Function App中的所有函数是否必须放在同一个function_app.py文件内?若可以拆分,项目结构应如何设计?

不需要集中在单个文件里,完全可以按功能拆分到不同目录和文件中,推荐的Python Azure Functions项目结构如下:

MyFunctionApp/
├── host.json               # 全局配置文件
├── local.settings.json     # 本地开发配置
├── requirements.txt        # 依赖包声明
├── shared/                 # 共享代码模块(可选)
│   └── utils.py
├── HttpTriggerDemo/        # 普通HTTP触发函数目录
│   ├── function.json       # 函数绑定配置
│   └── http_handler.py     # 函数业务代码
├── DurableOrchestrator/    # Durable编排器函数目录
│   ├── function.json
│   └── orchestrator_logic.py
├── DurableActivityTask/    # Durable活动函数目录
│   ├── function.json
│   └── activity_task.py
└── TimerTriggerCleanup/    # 普通Timer触发函数目录
    ├── function.json
    └── timer_handler.py
  • 每个函数对应独立目录,目录内包含function.json(配置触发规则、输入输出绑定)和业务代码文件;
  • 共享代码可放在根目录的shared文件夹中,在各函数代码里通过相对路径导入;
  • 部署时直接打包整个项目目录,Azure Functions运行时会自动扫描所有子目录中的function.json来识别并加载所有函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 18:12:04