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

Azure Functions使用User Secret启动报错求助

解决Azure Functions本地启动的两个错误

错误1:无法识别项目语言

直接在启动命令里指定项目语言,比如你的项目是C#的话,运行:
func start --csharp
如果是其他语言,替换成对应参数(比如--javascript、--python等)。同时确保你在项目根目录执行命令,根目录需包含对应语言的项目标识文件(如C#的.csproj、Python的requirements.txt)。

错误2:local.settings.json中缺少AzureWebJobsStorage

你所说的User Secret优先级高于local.settings.json是正确的,但Azure Functions本地CLI工具(func命令)默认不会自动加载User Secrets,它启动时会优先检查local.settings.json的配置,因此会触发这个错误。可以用以下几种方式解决:

方法1:创建local.settings.json文件

在项目根目录创建local.settings.json,填入你的配置内容:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=something;AccountKey=ccwq2cRbydk0wnT2FKFmNonpyqMXiEO/ADnCmI7UB/5IfnL9NHDc8wioZQu5PHzg==;BlobEndpoint=https://something.blob.core.windows.net/;TableEndpoint=https://something.table.core.windows.net/;QueueEndpoint=https://something.queue.core.windows.net/;FileEndpoint=https://something.file.core.windows.net/",
    "CosmosDb": "AccountEndpoint=https://localhost:8080/;AccountKey=C2y6ybIZnqyMsEcaGQy67XIw/Jw=="
  }
}

注意:该文件包含敏感信息,务必添加到.gitignore中,禁止提交到代码仓库。

方法2:通过环境变量传递配置

启动前先设置环境变量:

  • Windows:
    set AzureWebJobsStorage=你的Blob存储连接字符串
    func start --csharp
    
  • Linux/macOS:
    export AzureWebJobsStorage=你的Blob存储连接字符串
    func start --csharp
    

方法3:让C#项目加载User Secrets(仅适用于C#)

如果是C#项目,可以在Program.cs中手动配置加载User Secrets,让代码运行时读取该配置,但仍需先用方法1或2绕过CLI的启动检查:

var host = new HostBuilder()
    .ConfigureAppConfiguration((context, config) =>
    {
        if (context.HostingEnvironment.IsDevelopment())
        {
            config.AddUserSecrets<Program>();
        }
    })
    .ConfigureFunctionsWorkerDefaults()
    .Build();

host.Run();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:45:19