我有一个带有计时器触发器的 Azure 函数。当我出于调试目的在本地启动项目时,我希望该函数立即执行。这可以通过设置 runOnStartup
属性来完成。
我无法将其保留在生产中,因为它会导致触发器每次计划时触发两次,因此我尝试使用适当的设置。
function.json
的片段:
{
"schedule": "%TimerSchedule%",
"runOnStartup": %TimerRunOnStartup%,
"name": "timer",
"type": "timerTrigger",
"direction": "in"
}
local.settings.json
的片段:
"TimerSchedule": "0 */5 * * * *",
"TimerRunOnStartup": true,
按预期从设置文件中读取 CRON 表达式,但在 bool 值的情况下,function.json
的解析失败并出现以下错误:
Unexpected character encountered while parsing value: %. Path 'bindings[0].runOnStartup', line 6, position 22.
有没有办法在function.json
中参数化 bool 值?
最佳答案
据我所知,这是不可能的。 “%TimerSchedule%”
表示一个字符串,以便可以解析百分号并从应用设置(即本地的 local.settings)中获取值。
虽然runOnStartUp
应该是一个常量 bool 值,但函数运行时只能识别true/false,因此%
无效。我们也不能使用 "%runOnStartUp%"
,因为 String 未被识别为有效的 bool 值。
关于c# - 在 function.json 中参数化 runOnStartup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51205429/