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

.NET 6.0 AWS Lambda读取appsettings.json值返回Null问题排查

AWS Lambda (.NET 6)读取appsettings.json返回Null的问题解决

问题场景

我用Visual Studio 2022开发基于C# .NET 6.0的AWS Lambda函数,项目是仅包含Function类的类库,没有Startup.cs。尝试读取appsettings.json配置,但获取的值始终为Null。

配置文件内容(appsettings.json)

{
  "SQSARN": "arn:aws:sqs:us-east-1:111111111111:SQS-Queue1",
  "BucketName": "excel-s3-bucket",
  "ObjectKey": "Sample.xlsx"
}

当前读取代码

config = new ConfigurationBuilder().AddJsonFile("appsettings.json",true,true)
        .SetBasePath(Directory.GetCurrentDirectory())
        .Build();

string myValue = config.GetValue<string>("SQSARN");

解决步骤

  • 调整配置构建顺序
    目前代码先添加Json文件再设置BasePath,顺序错误导致程序找不到配置文件。正确顺序是先设置BasePath,再添加Json文件:

    config = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .Build();
    
  • 设置配置文件的复制属性
    在Visual Studio中右键点击appsettings.json文件,选择「属性」,将「复制到输出目录」设置为「如果较新则复制」或「始终复制」。Lambda运行时会从输出目录读取文件,不设置的话配置文件不会被打包到部署包中。

  • 安装必要的NuGet包
    确保项目已安装以下核心依赖包:

    • Microsoft.Extensions.Configuration
    • Microsoft.Extensions.Configuration.Json
      缺少这两个包会导致Json配置读取功能无法正常工作。
  • 可选:Lambda原生配置方案(推荐)
    对于AWS Lambda,更推荐使用环境变量、AWS Systems Manager参数存储或 Secrets Manager 来管理配置,这种方式更符合Serverless场景的最佳实践,但如果坚持使用appsettings.json,完成上面三步即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 06:35:18