You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Functions独立工作者模式下如何绑定触发器参数到appsettings.json

Azure Functions独立工作者模式下配置源读取问题

在进程内函数模式中,可将appsettings.json作为自定义配置源,用来解析触发器参数。示例如下,TimerTrigger可从appsettings.json中读取ScheduleTriggerTime参数:

[FunctionName("Function1")]
public async Task Run([TimerTrigger("%ScheduleTriggerTime%")]TimerInfo myTimer)

迁移至独立工作者模式后,发现无法从appsettings.json绑定参数,仅能通过local.settings.json实现。已将appsettings.json添加至配置,尝试从中获取TimerTrigger的ScheduleTriggerTime设置,但启动应用时抛出错误:

Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.Function1'. Microsoft.Azure.WebJobs.Host: '%ScheduleTriggerTime%' does not resolve to a value.

相关代码

Program.cs

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;

var host = new HostBuilder()
    .ConfigureFunctionsWebApplication()
        .ConfigureAppConfiguration((hostContext, configurationBuilder) =>
        {
            configurationBuilder
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile($"appsettings.json")
                .AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", optional: true)
                .AddEnvironmentVariables();
        })
    .Build();

host.Run();

Function1.cs

using Microsoft.Azure.Functions.Worker;

namespace FunctionApp4
{
    public class Function1
    {
        [Function("Function1")]
        public void Run([TimerTrigger("%ScheduleTriggerTime%")] TimerInfo myTimer)
        {
        }
    }
}

appsettings.json

{
  "ScheduleTriggerTime": "0 */1 * * * *"
}

请问这是独立模式下的有意变更,还是我遗漏了某些配置步骤,导致无法从appsettings.json解析参数?

内容的提问来源于stack exchange,提问作者Samuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 07:12:08