diff --git a/IRaCIS.Core.Application/Helper/OSSService.cs b/IRaCIS.Core.Application/Helper/OSSService.cs index 018b7f26e..e0ff9b30f 100644 --- a/IRaCIS.Core.Application/Helper/OSSService.cs +++ b/IRaCIS.Core.Application/Helper/OSSService.cs @@ -249,7 +249,7 @@ public class OSSService : IOSSService LifeCycleExpiration = { - Days = 30 + Days = 30 //最后一次修改时间 }, StorageClass = StorageClass.Archive } @@ -302,8 +302,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var amazonS3Client = new AmazonS3Client(credentials, clientConfig); @@ -333,15 +333,15 @@ public class OSSService : IOSSService Transitions = new List { // 1天后转为低频访问 (Standard-IA) - new LifecycleTransition - { - Days = 1, - StorageClass = S3StorageClass.StandardInfrequentAccess // 对应S3 Standard-IA - }, + //new LifecycleTransition + //{ + // Days = 1, //Days' in Transition action must be greater than or equal to 30 for storageClass 'STANDARD_IA'" + // StorageClass = S3StorageClass.StandardInfrequentAccess // 对应S3 Standard-IA + //}, // 30天后转为归档 (Glacier Instant Retrieval) new LifecycleTransition { - Days = 30, + Days = 30, //创建时间 StorageClass = S3StorageClass.GlacierInstantRetrieval // 对应归档(即时检索) } // 如果需要更深的归档,可以继续添加: @@ -765,8 +765,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var amazonS3Client = new AmazonS3Client(credentials, clientConfig); @@ -891,8 +891,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var amazonS3Client = new AmazonS3Client(credentials, clientConfig); @@ -966,8 +966,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var amazonS3Client = new AmazonS3Client(credentials, clientConfig); @@ -1172,8 +1172,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var amazonS3Client = new AmazonS3Client(credentials, clientConfig); @@ -1546,8 +1546,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var amazonS3Client = new AmazonS3Client(credentials, clientConfig); @@ -1653,8 +1653,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var amazonS3Client = new AmazonS3Client(credentials, clientConfig); @@ -1728,8 +1728,8 @@ public class OSSService : IOSSService //提供awsEndPoint(域名)进行访问配置 var clientConfig = new AmazonS3Config { - RegionEndpoint = RegionEndpoint.USEast1, - UseHttp = true, + RegionEndpoint = RegionEndpoint.GetBySystemName(awsConfig.Region) + //,UseHttp = true, }; var request = new Amazon.S3.Model.GetObjectMetadataRequest @@ -1813,9 +1813,16 @@ public class OSSService : IOSSService { var awsOptions = ObjectStoreServiceOptions.AWS; + + // 创建 STS 客户端(考虑使用 RegionEndpoint) + var stsConfig = new AmazonSecurityTokenServiceConfig + { + RegionEndpoint = RegionEndpoint.GetBySystemName(awsOptions.Region) + }; + //aws 临时凭证 // 创建 STS 客户端 - var stsClient = new AmazonSecurityTokenServiceClient(awsOptions.AccessKeyId, awsOptions.SecretAccessKey); + var stsClient = new AmazonSecurityTokenServiceClient(awsOptions.AccessKeyId, awsOptions.SecretAccessKey, stsConfig); // 使用 AssumeRole 请求临时凭证 var assumeRoleRequest = new AssumeRoleRequest diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index 7f1a56c7e..fd751a860 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -112,9 +112,9 @@ namespace IRaCIS.Core.Application.Service { if (storageClass == StorageClass.IA || storageClass == StorageClass.Archive || storageClass == StorageClass.ColdArchive || storageClass == StorageClass.DeepColdArchive) { - //await _IOSSService.SetImmediateArchiveRule($"Test-Archive/Archive{(int)storageClass}/"); + await _IOSSService.SetImmediateArchiveRule($"Test-Archive/Archive{(int)storageClass}/"); - await _IOSSService.RestoreFilesByPrefixAsync($"Test-Archive/Archive{(int)storageClass}/"); + //await _IOSSService.RestoreFilesByPrefixAsync($"Test-Archive/Archive{(int)storageClass}/"); }