Azure Functions的host.json中watchDirectories与watchFiles的差异是什么?
watchDirectories 与 watchFiles 的差异解析
我负责维护的部分代码采用watchDirectories方法触发应用重启,针对两者的差异说明如下:
核心共性
两者核心作用一致:监控指定目标的变更,触发应用重启,确保代码或配置更新能被函数识别。
关键差异
除了监控对象(目录 vs 单个文件)的明显区别外,还有这些核心差异:
- 监控范围:
watchDirectories监控整个目录及其子目录下的所有文件变更(包括新增、修改、删除操作),官方明确其用于监控程序集变更,比如Shared这类共享代码目录下的类库、程序集文件更新时,会被识别并触发重启。watchFiles仅监控指定的单个或多个具体文件,只有这些文件发生变更时才会触发重启,监控范围更精准。
- 适用场景:
watchDirectories适合批量监控整个代码目录的场景,比如存放共享工具类、公共程序集的目录,确保目录下所有相关代码变更都能被捕获。watchFiles适合仅需监控特定配置文件、单个核心脚本文件的场景,避免无关文件变更触发不必要的应用重启。
官方配置示例
watchDirectories
一组需要监控变更的共享代码目录,确保这些目录中的代码变更能被函数识别。
{ "watchDirectories": [ "Shared" ] }
watchFiles
一个或多个需要监控变更的文件名数组,变更会触发应用重启,确保文件中的代码更新能被函数识别。
{ "watchFiles": [ "myFile.txt" ] }
内容的提问来源于stack exchange,提问作者learning2learn
相关产品推荐
相关产品推荐

