我已经遵循了大多数AWS-NET-SDK,但是无法找到我所寻找的参考。
基本上,我正在寻找从appsettings.json
文件读取和注入AWS选项,包括访问密钥,秘密密钥,serviceUrl和存储桶名称,然后将IAmazonS3
注入服务,并从所需的构造函数中检索所有内容,例如MyConstructor(IAmazonS3 awsS3Client)
。
当前,我是通过以下两种方式初始化两个对象-BasicAWSCredentials
,AmazonS3Config
和AmazonS3Client
的:
private readonly IAmazonS3 _aws3Client;
public CloudSystemService(IOptions<AwsS3Settings> awsS3Settings)
{
_awsS3Settings = awsS3Settings.Value;
AWSCredentials credentials = new BasicAWSCredentials(_awsS3Settings.AccessKey, _awsS3Settings.SecretKey);
var config = new AmazonS3Config
{
ServiceURL = _awsS3Settings.ServiceUrl,
RegionEndpoint = Amazon.RegionEndpoint.GetBySystemName(_awsS3Settings.Region)
};
_awsS3Client = new AmazonS3Client(credentials, config);
}
基本上,我希望从appsettings.json
文件中读取所有内容,并应使用:
var awsConfig = configuration.GetAWSOptions("AwsS3Settings");
services.AddDefaultAWSOptions(awsConfig);
services.AddAWSService<IAmazonS3>();
我的服务实现只会像
private readonly IAmazonS3 _aws3Client;
public CloudSystemService(IAmazonS3 awsS3Client)
{
_aws3Client = aws3Client;
}
第一个构造函数中显示的所有内容都应删除。