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