Azure函数(Node.js)在Kudu中显示错误的调用日志

时间:2018-07-03 19:03:47

标签: azure azure-functions

摘要:我有两个不同的Azure Function应用程序(Node.js),共享一个文件存储帐户,但是,如果我进入其中一个的Kudu调用日志,则会看到两个应用程序中的条目。

这是我的设置:

  • 1个文件存储(由两个功能应用共享)
  • 具有单个队列(sb-prod)的服务总线1(somequeue
  • 具有单个队列(sb-staging)的服务总线2(somequeue
  • 具有单个功能(func-prod)的Function App 1(somefunc
  • 具有单个功能(func-staging)的Function App 2(somefunc
  • func-prodfunc-staging均已设置为从同一Bitbucket存储区但在不同分支中连续部署
  • sb-prod中收到一条消息后,它将在somefunc中触发func-prod
  • sb-staging中收到一条消息后,它将在somefunc中触发func-staging

请注意,队列名称和函数名称在prod和暂存中均相同。一切似乎都正常。但是,如果我进入Kudu并查看用于调试的调用日志,它将显示两个Function App的功能执行情况(两者的日志中都显示了prod和staging)。它不尊重文件存储上的文件夹结构,仅显示来自相应应用程序的日志。据我所知,这只是一个日志查看问题,并且函数没有运行两次,也没有消息发送到错误的函数应用程序。有想法该怎么解决这个吗?还是这是一个错误,我需要添加第二个存储帐户来修复它,以免Kudu感到困惑?此设置是否存在使登台服务总线中的消息最终出现在prod应用程序中的风险,反之亦然?

1 个答案:

答案 0 :(得分:1)

通过“ Kudu”,我假设您的意思是WebJobs仪表板(与Kudu不相关)。您看到的行为是古怪的,但实际上是设计使然。有关更多信息,请参见https://github.com/Azure/azure-webjobs-sdk/issues/1541

解决方法:

  • 最好是使用App Insights代替WebJobs仪表板
  • 如果必须使用WebJobs仪表板,请使用不同的存储帐户