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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VS2017中的AWS无服务器应用程序读取appsettings.json文件相关的知识,希望对你有一定的参考价值。

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

d

答案

您可以像将配置系统添加到任何非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.jsonappSetting.json将不会加载。

以上是关于使用VS2017中的AWS无服务器应用程序读取appsettings.json文件的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 AWS 以无服务器方式订阅 WebSocket?

AWS Lambda&Fargate 无服务底层技术是如何实现的

节点无法读取 AWS Beanstalk 中的环境变量

ap-south-1区域的AWS SignatureDoesNotMatch错误

AWS - 重建 Autoscale 组中的所有实例

参考无服务器框架中的现有 Cloudformation 堆栈输出