|
@@ -1,7 +1,6 @@
|
|
package io.milvus.bulkwriter.storage.client;
|
|
package io.milvus.bulkwriter.storage.client;
|
|
|
|
|
|
-import com.google.common.collect.HashMultimap;
|
|
|
|
-import com.google.common.collect.Multimap;
|
|
|
|
|
|
+import io.milvus.bulkwriter.common.clientenum.CloudStorage;
|
|
import io.milvus.bulkwriter.storage.StorageClient;
|
|
import io.milvus.bulkwriter.storage.StorageClient;
|
|
import io.minio.BucketExistsArgs;
|
|
import io.minio.BucketExistsArgs;
|
|
import io.minio.MinioClient;
|
|
import io.minio.MinioClient;
|
|
@@ -21,17 +20,17 @@ import static com.amazonaws.services.s3.internal.Constants.MB;
|
|
public class MinioStorageClient extends MinioClient implements StorageClient {
|
|
public class MinioStorageClient extends MinioClient implements StorageClient {
|
|
private static final Logger logger = LoggerFactory.getLogger(MinioStorageClient.class);
|
|
private static final Logger logger = LoggerFactory.getLogger(MinioStorageClient.class);
|
|
|
|
|
|
- protected MinioStorageClient(MinioClient client, Multimap<String, String> extraHeader) {
|
|
|
|
|
|
+ protected MinioStorageClient(MinioClient client) {
|
|
super(client);
|
|
super(client);
|
|
}
|
|
}
|
|
|
|
|
|
- public static MinioStorageClient getStorageClient(String endpoint,
|
|
|
|
|
|
+ public static MinioStorageClient getStorageClient(String cloudName,
|
|
|
|
+ String endpoint,
|
|
String accessKey,
|
|
String accessKey,
|
|
String secretKey,
|
|
String secretKey,
|
|
String sessionToken,
|
|
String sessionToken,
|
|
String region,
|
|
String region,
|
|
OkHttpClient httpClient) {
|
|
OkHttpClient httpClient) {
|
|
- Multimap<String, String> extraHeader = HashMultimap.create();
|
|
|
|
MinioClient.Builder minioClientBuilder = MinioClient.builder()
|
|
MinioClient.Builder minioClientBuilder = MinioClient.builder()
|
|
.endpoint(endpoint)
|
|
.endpoint(endpoint)
|
|
.credentialsProvider(new StaticProvider(accessKey, secretKey, sessionToken));
|
|
.credentialsProvider(new StaticProvider(accessKey, secretKey, sessionToken));
|
|
@@ -44,7 +43,12 @@ public class MinioStorageClient extends MinioClient implements StorageClient {
|
|
minioClientBuilder.httpClient(httpClient);
|
|
minioClientBuilder.httpClient(httpClient);
|
|
}
|
|
}
|
|
|
|
|
|
- return new MinioStorageClient(minioClientBuilder.build(), extraHeader);
|
|
|
|
|
|
+ MinioClient minioClient = minioClientBuilder.build();
|
|
|
|
+ if (CloudStorage.TC.getCloudName().equals(cloudName)) {
|
|
|
|
+ minioClient.enableVirtualStyleEndpoint();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return new MinioStorageClient(minioClient);
|
|
}
|
|
}
|
|
|
|
|
|
public Long getObjectEntity(String bucketName, String objectKey) throws Exception {
|
|
public Long getObjectEntity(String bucketName, String objectKey) throws Exception {
|