diff --git a/dynamodb/dynamodb.go b/dynamodb/dynamodb.go index b87a4888..25e9e57a 100644 --- a/dynamodb/dynamodb.go +++ b/dynamodb/dynamodb.go @@ -44,7 +44,9 @@ func New(config Config) *Storage { } // Create db - sess := awsdynamodb.NewFromConfig(awscfg) + sess := awsdynamodb.NewFromConfig(awscfg, func(o *awsdynamodb.Options) { + o.BaseEndpoint = aws.String(cfg.Endpoint) + }) timeoutCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() @@ -232,23 +234,10 @@ func (s *Storage) requestContext() (context.Context, context.CancelFunc) { } func returnAWSConfig(cfg Config) (aws.Config, error) { - endpoint := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) { - if cfg.Endpoint != "" { - return aws.Endpoint{ - PartitionID: "aws", - URL: cfg.Endpoint, - SigningRegion: cfg.Region, - HostnameImmutable: true, - }, nil - } - return aws.Endpoint{}, &aws.EndpointNotFoundError{} - }) - if cfg.Credentials != (Credentials{}) { credentials := credentials.NewStaticCredentialsProvider(cfg.Credentials.AccessKey, cfg.Credentials.SecretAccessKey, "") return awsconfig.LoadDefaultConfig(context.TODO(), awsconfig.WithRegion(cfg.Region), - awsconfig.WithEndpointResolverWithOptions(endpoint), awsconfig.WithCredentialsProvider(credentials), awsconfig.WithRetryer(func() aws.Retryer { return retry.AddWithMaxAttempts(retry.NewStandard(), cfg.MaxAttempts) @@ -258,7 +247,6 @@ func returnAWSConfig(cfg Config) (aws.Config, error) { return awsconfig.LoadDefaultConfig(context.TODO(), awsconfig.WithRegion(cfg.Region), - awsconfig.WithEndpointResolverWithOptions(endpoint), awsconfig.WithRetryer(func() aws.Retryer { return retry.AddWithMaxAttempts(retry.NewStandard(), cfg.MaxAttempts) }), diff --git a/s3/s3.go b/s3/s3.go index e206ab39..df7bbd8b 100644 --- a/s3/s3.go +++ b/s3/s3.go @@ -40,7 +40,10 @@ func New(config ...Config) *Storage { panic(fmt.Sprintf("unable to load SDK config, %v", err)) } - sess := s3.NewFromConfig(awscfg) + sess := s3.NewFromConfig(awscfg, func(o *s3.Options) { + o.BaseEndpoint = aws.String(cfg.Endpoint) + }) + storage := &Storage{ svc: sess, downloader: manager.NewDownloader(sess), @@ -173,23 +176,10 @@ func (s *Storage) requestContext() (context.Context, context.CancelFunc) { } func returnAWSConfig(cfg Config) (aws.Config, error) { - endpoint := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) { - if cfg.Endpoint != "" { - return aws.Endpoint{ - PartitionID: "aws", - URL: cfg.Endpoint, - SigningRegion: cfg.Region, - HostnameImmutable: true, - }, nil - } - return aws.Endpoint{}, &aws.EndpointNotFoundError{} - }) - if cfg.Credentials != (Credentials{}) { creds := credentials.NewStaticCredentialsProvider(cfg.Credentials.AccessKey, cfg.Credentials.SecretAccessKey, "") return awsconfig.LoadDefaultConfig(context.TODO(), awsconfig.WithRegion(cfg.Region), - awsconfig.WithEndpointResolverWithOptions(endpoint), awsconfig.WithCredentialsProvider(creds), awsconfig.WithRetryer(func() aws.Retryer { return retry.AddWithMaxAttempts(retry.NewStandard(), cfg.MaxAttempts) @@ -199,7 +189,6 @@ func returnAWSConfig(cfg Config) (aws.Config, error) { return awsconfig.LoadDefaultConfig(context.TODO(), awsconfig.WithRegion(cfg.Region), - awsconfig.WithEndpointResolverWithOptions(endpoint), awsconfig.WithRetryer(func() aws.Retryer { return retry.AddWithMaxAttempts(retry.NewStandard(), cfg.MaxAttempts) }),