Ton*_*ush 5 json amazon-web-services visual-studio .net-core alexa-skills-kit
我正在 Visual Studio 中开发 Alexa Skills Kit 应用程序,并在 .NET Core 2.0 中创建了 AWS Lambda 项目。创建项目时,它会自动附带一个名为 aws-lambda-tools-defaults.json 的文件。此处的设置由 AWS Lambda 函数使用。
现在,我想存储我自己的应用程序设置和连接字符串以供应用程序使用。如何存储我的设置并将其写入代码的首选途径是什么?
我已经添加了名为 Microsoft.Extensions.Configuration.Json 的 NuGet 包。但我不确定我从这里做什么。
1) 我是否需要创建另一个 json 文件,或者我可以使用现有文件 aws-lambda-tools-defaults.json 吗?如果我确实需要创建一个新文件,它应该被命名为什么?
2)是否需要将构造函数添加到 Function.cs 文件中才能加载 json 文件?
3)我可以编写哪些代码来实际获取我的设置和连接字符串?
我在这里有点迷失,所以任何建议都会很有帮助!谢谢你!
aws-lambda-tools-defaults.json
这不是需要保存连接字符串和其他应用程序配置设置的文件。相反,它是appsettings.json
文件。2 和 3。从这里开始,您可以按照微软关于如何使用配置文件的说明进行操作。
基本上,在Startup
文件中,您可以通过以下方式获取配置IConfiguration
:
Configuration.GetValue<string>("myConfigValue");
Run Code Online (Sandbox Code Playgroud)
具体来说,对于使用 netcore 2.1 的 aws serverless 应用程序,如果您想使用appsettings.{environment}.json
,可以执行以下操作:
/// <summary>
/// The Main function can be used to run the ASP.NET Core application locally using the Kestrel webserver.
/// </summary>
public static class LocalEntryPoint
{
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((builderContext, config) =>
{
string defaultAppSettingsFile = "appsettings.json";
// because of a bug in Visual Studio 2017 version 15.8.2 (newest at this time) with NetCore projects, simply changing the configuration won't work
// you have to Close, and then Re-open the project in order for the Conditional Compilation Symbols to be taken in effect
#if Debug
string appSettingsFileToAdd = "appsettings.Debug.json";
#elif Beta
string appSettingsFileToAdd = "appsettings.Beta.json";
#elif Release
string appSettingsFileToAdd = "appsettings.Release.json";
#else
string appSettingsFileToAdd = "appsettings.Debug.json";
#endif
config
.AddJsonFile(
defaultAppSettingsFile,
optional: false,
reloadOnChange: true)
.AddJsonFile(
appSettingsFileToAdd,
optional: true,
reloadOnChange: true);
})
.UseStartup<Startup>()
.Build();
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3354 次 |
最近记录: |