摘录自Startup.cs
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", reloadOnChange: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddOptions();
var awsConfig = Configuration.GetAWSOptions();
//awsConfig.ProfilesLocation = Environment.ExpandEnvironmentVariables(awsConfig.ProfilesLocation);
services.AddDefaultAWSOptions(awsConfig);
services.AddAWSService<IAmazonElasticLoadBalancing>();
services.AddAWSService<IAmazonCloudWatch>();
}
摘录自appsettings.json
{
"AWS": {
"Profile": "prod",
"Region": "us-east-1"
}
}
上面的代码构建良好,但是当我运行它时,它无法在我的~/.aws/credentials
文件中找到我的配置文件。如果我设置环境变量
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
然后它可以正常运行。
如果此命令在未设置环境变量的Windows上运行,它将正确找到凭据文件。
有什么主意如何进行设置,使其可以在Windows和OSX上使用?
参考文献: