可靠性: 完善 R2 备份恢复与对象生命周期
This commit is contained in:
@@ -5,9 +5,6 @@ import (
|
||||
"sync"
|
||||
|
||||
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
"github.com/aws/aws-sdk-go-v2/config"
|
||||
"github.com/aws/aws-sdk-go-v2/credentials"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
@@ -31,29 +28,13 @@ func GetS3Client() (*s3.Client, error) {
|
||||
s3ClientErr = errors.New("S3 endpoint not configured")
|
||||
return
|
||||
}
|
||||
|
||||
r2Resolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) {
|
||||
return aws.Endpoint{
|
||||
URL: conf.Upload.ImageEndpoint,
|
||||
HostnameImmutable: true,
|
||||
Source: aws.EndpointSourceCustom,
|
||||
}, nil
|
||||
})
|
||||
|
||||
cfg, err := config.LoadDefaultConfig(context.Background(),
|
||||
config.WithEndpointResolverWithOptions(r2Resolver),
|
||||
config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(
|
||||
conf.Upload.ImageAccessID,
|
||||
conf.Upload.ImageAccessSecret,
|
||||
"",
|
||||
)),
|
||||
config.WithRegion("auto"),
|
||||
s3Client, s3ClientErr = NewS3Client(
|
||||
context.Background(),
|
||||
conf.Upload.ImageEndpoint,
|
||||
conf.Upload.ImageBucket,
|
||||
conf.Upload.ImageAccessID,
|
||||
conf.Upload.ImageAccessSecret,
|
||||
)
|
||||
if err != nil {
|
||||
s3ClientErr = errors.Wrap(err, "load S3 config")
|
||||
return
|
||||
}
|
||||
s3Client = s3.NewFromConfig(cfg)
|
||||
})
|
||||
return s3Client, s3ClientErr
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user