繁体   English   中英

如何在 Azure 门户上手动调用 Timer Trigger Azure function?

[英]How to manually invoke a Timer Trigger Azure function on Azure Portal?

我已将计时器触发器 Azure Function 发布到我的 Azure 帐户。 我将它配置为每天运行两次,但我希望能够按需运行。 令人惊讶的是,它不是一个容易找到的功能,也不容易在网上找到帮助。

有一个 URL 可以用来触发非 HTTP 触发的函数。

https://[hostname]/admin/functions/[name_of_your_function]

您使用 x-functions-key 标头中的函数应用程序 _master 键 POST 到此 URL。 您可以在此处详细阅读: https ://docs.microsoft.com/en-us/azure/azure-functions/functions-manually-run-non-http

Azure Function Timer Trigger - 我将其配置为每天运行两次,但我希望能够按需运行。

我相信您的问题是 - 是否可以按需/请求运行计时器触发的 Azure 功能。

场景一:

AFAIK,不可能使用相同的函数按需运行/请求 Azure 定时器触发函数,但我们可以使用 HTTP 触发函数作为第二个函数,它使用与按计划运行的定时器函数相同的逻辑 - 是按需测试的最佳方法。

请检查此处描述的示例。

场景二:

假设场景在每次部署后运行/测试 Azure Function Timer Trigger,但 CRON 在一天内或其他时间配置两次,那么runOnStartup设置将按照此处MSFT 文档中的说明使用,它会在运行时启动时触发该函数,但不会导致运行时因部署而启动。

您可以在同一个函数应用中使用 2 个不同的函数,一个函数是时间触发的,另一个是 Http 触发的,您可以按需调用。 “作为解决方案的一部分,您可以开发和发布多个功能。这些功能通常组合成一个功能应用程序”

根据您使用的语言,将您要运行的代码放在类或函数等共享“位置”中,然后从这两个函数中调用该代码

如果你想在本地运行它,你必须向http://localhost:<port>/admin/functions/<functionName>发送一个空 json 负载的请求,例如

POST /admin/functions/MyTimerFunction HTTP/1.1
Host: localhost:7071
Content-Type: application/json
Content-Length: 2

{}

不过,我还没有让它在 Azure 部署的 Function 上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM