不在门户中监视时,Azure 函数 ApiHubFileTrigger 不会使用消费计划执行

Azure function ApiHubFileTrigger doesn't execute with consumption plan when not monitoring in portal

我将 apiHubFileTrigger 与 OneDrive for business 连接器 (onedriveforbusiness_ONEDRIVEFORBUSINESS) 结合使用。

{
  "bindings": [
    {
      "type": "apiHubFileTrigger",
      "name": "myFile",
      "direction": "in",
      "path": "/InputFile/{file}",
      "connection": "onedriveforbusiness_ONEDRIVEFORBUSINESS"
    }
  ],
  "disabled": false
}

当我在 Azure 门户中监视脚本时,它运行良好。但是当我关闭编辑器并等待一段时间后,复制到 onedrive for business 的新文件不会触发该功能。调用日志中没有错误或任何内容。 (根本没有调用)

该函数是用 C# 编写的。该函数将使用输入文件并根据文件执行一些操作。由于它在我进入门户并对其进行监控时有效,因此该问题与代码无关。

我是运行消费计划 所以问题与"always on"

无关

总结一下评论中的讨论,消费计划功能有一个突出的错误,触发器有时会不同步并且不会触发,除非门户打开,如果它们以某种方式发布(详情在这里: https://github.com/Azure/Azure-Functions/issues/210)

在这些情况下,点击门户中函数应用程序旁边的 "refresh" 按钮将同步触发器。

在这种情况下,存储帐户连接字符串解析存在问题。解决方法是切换到应用服务计划功能(确保 "Always On" 是 "On")。