@@ -127,7 +127,7 @@ fn get_region(s3_storage_config: &S3StorageConfig) -> Option<Region> {
127
127
} )
128
128
}
129
129
130
- pub ( crate ) async fn create_s3_client ( s3_storage_config : & S3StorageConfig ) -> S3Client {
130
+ pub async fn create_s3_client ( s3_storage_config : & S3StorageConfig ) -> S3Client {
131
131
let aws_config = get_aws_config ( ) . await ;
132
132
let credentials_provider =
133
133
get_credentials_provider ( s3_storage_config) . or ( aws_config. credentials_provider ( ) ) ;
@@ -155,28 +155,6 @@ pub(crate) async fn create_s3_client(s3_storage_config: &S3StorageConfig) -> S3C
155
155
}
156
156
157
157
impl S3CompatibleObjectStorage {
158
- /// Creates an object storage given a region, a bucket name and an S3 client.
159
- pub async fn new (
160
- s3_storage_config : & S3StorageConfig ,
161
- uri : Uri ,
162
- bucket : String ,
163
- s3_client : S3Client ,
164
- ) -> Result < Self , StorageResolverError > {
165
- let retry_params = RetryParams :: aggressive ( ) ;
166
- let disable_multi_object_delete = s3_storage_config. disable_multi_object_delete ;
167
- let disable_multipart_upload = s3_storage_config. disable_multipart_upload ;
168
- Ok ( Self {
169
- s3_client,
170
- uri,
171
- bucket,
172
- prefix : PathBuf :: new ( ) ,
173
- multipart_policy : MultiPartPolicy :: default ( ) ,
174
- retry_params,
175
- disable_multi_object_delete,
176
- disable_multipart_upload,
177
- } )
178
- }
179
-
180
158
/// Creates an object storage given a region and an uri.
181
159
pub async fn from_uri (
182
160
s3_storage_config : & S3StorageConfig ,
@@ -196,8 +174,19 @@ impl S3CompatibleObjectStorage {
196
174
let message = format ! ( "failed to extract bucket name from S3 URI: {uri}" ) ;
197
175
StorageResolverError :: InvalidUri ( message)
198
176
} ) ?;
199
- let storage = Self :: new ( s3_storage_config, uri. clone ( ) , bucket, s3_client) . await ?;
200
- Ok ( storage. with_prefix ( prefix) )
177
+ let retry_params = RetryParams :: aggressive ( ) ;
178
+ let disable_multi_object_delete = s3_storage_config. disable_multi_object_delete ;
179
+ let disable_multipart_upload = s3_storage_config. disable_multipart_upload ;
180
+ Ok ( Self {
181
+ s3_client,
182
+ uri : uri. clone ( ) ,
183
+ bucket,
184
+ prefix,
185
+ multipart_policy : MultiPartPolicy :: default ( ) ,
186
+ retry_params,
187
+ disable_multi_object_delete,
188
+ disable_multipart_upload,
189
+ } )
201
190
}
202
191
203
192
/// Sets a specific for all buckets.
0 commit comments