.net核心注入AWS配置

时间:2020-04-08 14:03:44

标签: c# .net amazon-s3 .net-core aws-sdk-net

我已经遵循了大多数AWS-NET-SDK,但是无法找到我所寻找的参考。

基本上,我正在寻找从appsettings.json文件读取和注入AWS选项,包括访问密钥,秘密密钥,serviceUrl和存储桶名称,然后将IAmazonS3注入服务,并从所需的构造函数中检索所有内容,例如MyConstructor(IAmazonS3 awsS3Client)

当前,我是通过以下两种方式初始化两个对象-BasicAWSCredentialsAmazonS3ConfigAmazonS3Client的:

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;
}

第一个构造函数中显示的所有内容都应删除。

0 个答案:

没有答案
相关问题