c# - 在 function.json 中参数化 runOnStartup

标签 c# azure azure-functions azure-functions-runtime

我有一个带有计时器触发器的 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/

相关文章:

c# - .NET 中的文件访问被拒绝

c# - 如何获取当前函数的名称?

c# - MVVM+ WPF PopUp 打不开

azure - 为什么 Azure 应用服务的 Internet 入站规则不起作用?

Azure 策略定义权限错误 : AuthorizationFailed

azure - 新的 Azure Function App 中意外提供了 SSL 证书

linq - Azure 函数 CosmosDB 查询序列化

C# 添加仅使用代码的引用(没有 IDE "Add Reference"函数)

sql-server - 实现 MFA 后管道失败

azure - 使用 REST api 确定 azure 函数执行完成情况