在VS2017中使用AWS无服务器应用程序读取appsettings.json文件

时间:2019-02-11 21:36:17

标签: c# amazon-web-services visual-studio-2017 aws-lambda amazon-cloudformation

我创建了一个新的AWSless Serverless Application(.NET Core)并设置了Lambda函数,但是我想像从普通的ASP.NET Core 2 Web应用程序一样从appsettings.json文件中读取一些信息。如何包含appsettings.json文件并读取设置?我有一些端点要存储,不想将其硬编码到我的应用程序中。

d

1 个答案:

答案 0 :(得分:1)

执行此操作的方式与将配置系统添加到任何非ASP核心项目的方式相同。

将以下nuget软件包添加到无服务器应用程序中:

  

Microsoft.Extensions.Configuration

     

Microsoft.Extensions.Configuration.Binder

     

Microsoft.Extensions.Configuration.Json

然后添加您的appSettings.json配置文件。由于您希望将这些设置包含在已发布的zip中,因此请确保将Copy to Output Directory设置为true

之后,您可以编写一些初始化代码:

     public IConfiguration Configuration { get; private set; }

     private void ConfigureSettings()
        {
            Configuration = new ConfigurationBuilder()
                .AddJsonFile("appSettings.json", optional: true)
                .Build();
        }

我在上面盲目打字,所以希望它能起作用。如果您想使用强类型的POCO而不是配置,则可以通过执行以下操作来使用Microsoft.Extensions.Configuration.Json功能:

        public ApplicationConfigPoco Configuration
        {
            get
            {
                return Configuration.Get<ApplicationConfigPoco>();
            }
        }

最后,由于Lambda在linux上运行,请注意Windows系统上不存在的区分大小写。例如,如果文件为appsettings.json,则appSetting.json将不会加载。