如何使用计时器触发器配置 Azure 自定义处理程序?

How to configure an Azure custom handler with a timer trigger?

我正在尝试在我的 Golang 自定义处理程序中配置一个使用计时器触发器的新函数。但是我没能找到它的任何文档。

尚不清楚 main.go 中的函数是如何在 function.json 中配置的 cron 计划中执行的。 目的是每小时执行一次该功能。这是我正在使用的 /functionname/function.json 文件:

{
  "bindings": [
    {
      "name": "timer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 0 * * * *"
    }
  ]
}

使用计时器触发器和 HTTP 触发器配置自定义处理程序之间存在一些差异。

这些是我在弄清楚如何启动定时器触发功能时注意到的差异 运行:

  1. /local.settings.json 文件在配置计时器触发器时需要一个名为“AzureWebJobsStorage”的字段,而 HTTP 触发器则不需要。如果不存在,它将导致函数应用程序在启动时失败。此字段存储与函数应用一起使用的存储帐户的连接字符串。 (显然将此文件添加到 .gitignore)
  2. 当函数应用程序尝试调用计时器触发的函数时,它希望它位于端点 /functionName。这与在 /api/functionName.
  3. 处执行函数处理程序的 HTTP 触发器不同

注意:计时器触发器函数似乎无法设置出站 http 绑定。因此,即使函数设置了响应,它也不会被使用,也不会通过函数主机发送回。目前还不清楚为什么计时器触发器会忽略出站 http 绑定或如何在不使用一个的情况下设置响应。