使用dotnet读取osx上的〜/ .aws / credentials文件

时间:2018-09-20 19:45:05

标签: c# .net macos amazon-web-services

摘录自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上使用?

参考文献:

0 个答案:

没有答案