在azure-functions host.json中,watchDirectories和watchFiles之间的区别是什么?

kadbb459  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(111)

我帮助维护的一些代码使用下面的watchDirectories方法重新启动应用程序,使用this answer建议的方法。
从这里引用:https://learn.microsoft.com/en-us/azure/azure-functions/functions-host-jsonwatchDirectorieswatchFiles实际上是同一件事吗?只是为了重新启动应用程序。除了明显的区别(文件与目录),还有什么区别?watchDirectories的链接文档提到它正在监视程序集的更改。
watch目录
应监视更改的一组共享代码目录。确保当这些目录中的代码发生更改时,您的函数会拾取更改。

{
    "watchDirectories": [ "Shared" ]
}

字符串
watchFiles
由一个或多个文件名称组成的数组,这些文件被监视以查看需要您的应用重新启动的更改。这保证了当这些文件中的代码发生更改时,您的函数会获取更新。

{
    "watchFiles": [ "myFile.txt" ]
}

nzkunb0c

nzkunb0c1#

watchDirectorieswatchFiles实际上是同一件事吗--只是为了重新启动应用程序?除了明显的区别(文件与目录),还有什么区别?watchDirectories的链接文档提到它正在监视程序集的更改。

区别:-host.json文件中的watchDirectories和watchFiles属性用于跟踪代码更改并在必要时重新启动应用。与跟踪一个或多个唯一文件的更改的watchFiles不同,watchDirectories跟踪一组共享代码目录、程序集、包、DLL等的更改。功能应用程序将重新启动,以便选择这些更改并进行更新。

  • 实现WatchDirectories以监视包含共享代码的目录。当这些目录中的代码(如程序集、DLL、包或其他共享组件)发生更改时,Azure Functions运行时将检测到更改,将其应用于您的函数,并重新启动应用程序。根据您共享的SO线程答案,Azure Functions运行时评估“watchDirectories”设置指示的配置更改,并启动函数应用重新启动。
  • 另一方面,WatchFiles用于监视特定文件。Azure Functions运行时将在指定文件的内容发生更改时使应用重新启动生效。当更改配置文件或其他重要文件并需要更改立即生效时,经常使用此选项。
    HttpTrigger的host.json示例:-
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.*, 4.0.0)"

  },
  "watchDirectories" : [
    "bin",
    "HttpTrigger1"
  ],
  "watchFiles" : [
    "host.json",
    "local.settings.json"
  ]
  
}

字符串
用于监控HttpTrigger 1和bin目录以及host.json的任何更改,您可以在 * 开发工具>高级工具> Go* 中通过Kudu控制台访问您的函数目录
x1c 0d1x的数据

相关问题