我使用VS 2017 Publish机制在消费计划中部署了VS 2017 C#开发的Azure功能应用程序。所有功能都是定时器或服务总线触发。我看到在Azure门户中运行的状态,并且功能似乎正在运行,例如但是,在尝试检查或监视函数时,我经常在Azure门户中遇到错误,例如,将行写入SQL Azure数据库弹出一个红色错误框,显示错误:
The function runtime is unable to start.
Session Id : xxxxxxxx
Timestamp : xxxxxxx
我查看了日志,看不到日志文件中的任何明显内容,我尝试部署到新的App Service并解决了一段时间的问题,但它已经回来了。我已将异常处理程序和异常消息中的所有函数包装到TraceWriter中,所有函数执行起来都非常快〜最多30-40秒。偶尔我也会看到错误说"你没有权限xxx"。
任何帮助都非常感激。
答案 0 :(得分:1)
此问题可能是由许多原因引起的。确实,您需要查看日志以查看潜在问题。
这里的一个很好的调试选项是连接到实时流。因此,在您的功能中,转到平台功能标签,然后在监控下选择日志流选项:
这会将实时流连接到您的函数日志记录:
您应该在哪里看到日志,这些日志标识为什么该功能无法启动
答案 1 :(得分:0)
对于那些遇到此问题的人。您可以参考相关链接来解决您的问题。
The function Runtime is unable to start 指出:
将FUNCTIONS_EXTENSION_VERSION更改为〜1并重新启动,然后 看起来事情至少在一开始就可以正常工作。
函数运行时无法启动哪个states:
没有更多信息,我想您可能会忘记添加 Azure门户上“应用程序”设置中的MyServiceBusConnection 会导致您看到的相同错误。如果不是这种情况,您可以 到ttps://.scm.azurewebsites.net/DebugConsole和 导航到D:\ home \ LogFiles \ Application \ Functions \ Host以查看 函数运行时日志。
答案 2 :(得分:0)
此问题也可能是由“访问限制”中的“阻止”规则引起的。如果为包括您的IP地址范围的IP地址添加了阻止规则,您将收到此消息。 您需要更改“阻止规则”或使用IP地址添加“允许规则”。 您可以通过以下方法在门户中进行操作
Function App -> Task Name -> Networking -> Access Restrictions