我需要调试一个关于 .net Core 和 AWS 的现有项目。 我们的项目在 AWS 实例上运行良好,但无法在本地运行。
首先,我们遇到了 AmazonServiceException: Unable to find credentials 的问题,但现在我们有了这条消息:AmazonClientException: No RegionEndpoint or ServiceURL configured。我认为这更好。
我们的配置: 在我们的应用程序中,我们有 3 个 appsettings.{env.EnvironmentName}.json(开发、本地和生产)。我们知道 VS 默认使用开发文件。 在我们的开发 appsettings 文件中,没有 AWS 对象,但在本地 appsettings 文件中,我们只有这个:
"AWS": {
"Region": "ap-southeast-2"
}
我们没有任何web.config或其他json配置文件。
我们尝试创建一个凭据文件,如下:
[name of my IAM profile]
aws_access_key_id=accesskey
aws_secret_access_key=secretkey
region=ap-southeast-2
但我们并没有找到如何使用它。
我们尝试使用dotnet core run命令来运行该项目,并指定一些环境变量,例如:
export AWS_Region=ap-southeast-2
export AWS_ACCESS_KEY_ID=id
export AWS_SECRET_ACCESS_KEY=secret
export AWS_SESSION_TOKEN=token
export
AWS_CREDENTIAL_FILE=/Users/user/Developer/exemple/nameproject/G$
但是出现了相同的错误。
Program.cs 文件:
var host = new WebHostBuilder()
.UseKestrel(options => options.AddServerHeader = false)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseUrls("http://*:9000")
.CaptureStartupErrors(true)
.Build();
host.Run();
启动文件(第一个函数):
public Startup(IHostingEnvironment env) {
// Configuration override https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", false, true)
.AddEnvironmentVariables();
Configuration = builder.Build();
// Shared startup configurator
CommonStartup = new CommonStartup(env, Configuration);
}
这是我们的问题:
我们项目的凭证在哪里或如何配置?感谢您提前回答。