我有一个Web应用程序.netcore Web应用程序,希望与平台无关。根据应用程序的部署,即docker或aws,我希望能够为应用程序使用不同的配置方法。
使用docker机密,我在启动时使用路径/ run / secrets添加Json文件,但是如何使用AWS开发工具包使用其他方法配置AWS机密。
如果将应用程序部署到AWS,我如何将其更改为使用AWS开发工具包秘密管理器
谢谢
示例startup.cs是
public Startup(IHostingEnvironment env)
{
var basePath = (env.EnvironmentName.Equals("Development") ? "c:" : "");
var builder = new ConfigurationBuilder()
.AddJsonFile($"{basePath}/run/secrets/xx1", optional: true)
.AddJsonFile($"{basePath}/run/secrets/xx2", optional: true)
.AddJsonFile($"{basePath}/run/secrets/xx2", optional: true)
.AddJsonFile($"{basePath}/run/secrets/xx4", optional: true);
Configuration = builder.Build();
}
答案 0 :(得分:0)
我不确定这是否是您要寻找的东西,但是您可以使用预处理器。您可以添加条件编译符号,并且仅包含特定目标所需的代码。可以使用#define在构建选项卡的项目属性中或文件的顶部设置这些符号。
例如:
#define aws
using System;
public class Program
{
public static void Main(string[] args)
{
#if docker
Console.WriteLine("Build for docker.");
#endif
#if aws
Console.WriteLine("Build for aws.");
#endif
}
}