登录
首页 >  Golang >  Go问答

在Azure中设置计时器触发器来配置自定义处理程序的方法

来源:stackoverflow

时间:2024-03-09 14:24:25 447浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《在Azure中设置计时器触发器来配置自定义处理程序的方法》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

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

  • 我已查看 azure/azure-functions github 上的示例,但缺少计时器触发器:https://github.com/azure/azure-functions
  • 我还查看了 microsoft azure/azure-functions 页面上的自定义处理程序文档,但它仅适用于 http 触发器:https://learn.microsoft.com/en-us/azure/azure-functions/create -first-function-vs-code-other?tabs=go%2cwindows

尚不清楚该函数如何按照 function.json 中配置的 cron 计划在 main.go 中执行。 目的是每小时执行一次该函数。这是我正在使用的 /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 处执行函数处理程序的 HTTP 触发器不同。

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

今天关于《在Azure中设置计时器触发器来配置自定义处理程序的方法》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>