我正在尝试在Azure函数计时器触发器中每分钟创建一个CRON。
根据文档,我发现:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer#cron-examples
"0 */1 * * * *"
根本没有运行。
"*/1 * * * * *"
确实每秒运行一次。
我要去哪里错了?
function.json
看起来像这样:
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */1 * * * *"
}
],
"scriptFile": "../dist/TriggerWork/index.js"
}
答案 0 :(得分:1)
我可以重现您的问题,其中{AzureWebJobsStorage}
中的local.settings.json
连接字符串条目在某种程度上不匹配其格式:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "{AzureWebJobsStorage}",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}
对于除HTTP以外的所有触发器,需要有效的AzureWebJobsStorage连接字符串。其背后的原因与扩展到多个VM有关:如果该函数扩展到多个VM并具有多个实例,则需要一个存储帐户进行协调以确保一次仅运行计时器触发器的一个实例。如果您尝试在本地进行开发,则会遇到一些困难,但不幸的是,当前这是计时器触发器的局限性。
有关更多详细信息,您可以参考类似的issue。