Выдержка из 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?
Ссылки: