Package io.minio
Class BaseS3Client
java.lang.Object
io.minio.BaseS3Client
- All Implemented Interfaces:
AutoCloseable
- Direct Known Subclasses:
MinioAsyncClient
Core S3 API client.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Http.BaseUrlprotected booleanprotected okhttp3.OkHttpClientprotected static final intprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final com.fasterxml.jackson.databind.ObjectMapperprotected Providerprotected static final Randomprotected static final Stringprotected String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseS3Client(BaseS3Client client) protectedBaseS3Client(Http.BaseUrl baseUrl, Provider provider, okhttp3.OkHttpClient httpClient, boolean closeHttpClient) -
Method Summary
Modifier and TypeMethodDescriptionDo AbortMultipartUpload S3 API asynchronously.protected voidCheck whether argument is valid or not.voidclose()Closes underneath HTTP client.Do CompleteMultipartUpload S3 API asynchronously.copyObject(CopyObjectArgs args) Do CopyObject S3 API asynchronously.createBucket(CreateBucketArgs args) Do CreateBucket S3 API asynchronously.Do CreateMultipartUpload S3 API asynchronously.Do DeleteObjects S3 API asynchronously.voidDisables dual-stack endpoint for Amazon S3 endpoint.voidDisables virtual-style endpoint.voidEnables dual-stack endpoint for Amazon S3 endpoint.voidEnables virtual-style endpoint.protected CompletableFuture<okhttp3.Response>executeAsync(Http.S3Request s3request) Execute HTTP request asynchronously for given args and parameters.protected CompletableFuture<okhttp3.Response>executeAsync(Http.S3Request s3request, String region) Execute HTTP request asynchronously for given parameters.protected CompletableFuture<okhttp3.Response>executeDeleteAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams) Execute asynchronously DELETE HTTP request for given parameters.protected CompletableFuture<okhttp3.Response>executeGetAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams) Execute asynchronously GET HTTP request for given parameters.protected CompletableFuture<okhttp3.Response>executeHeadAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams) Execute asynchronously HEAD HTTP request for given parameters.protected CompletableFuture<okhttp3.Response>executePostAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams, Http.Body body) Execute asynchronously POST HTTP request for given parameters.protected CompletableFuture<okhttp3.Response>executePutAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams, Http.Body body) Execute asynchronously PUT HTTP request for given parameters.Do GetBucketLocation S3 API asynchronously.protected CompletableFuture<String>Returns region of given bucket either from region cache or set in constructor.headBucket(HeadBucketArgs args) Do HeadBucket S3 API asynchronously.headObject(HeadObjectArgs args) Do HeadObject S3 API asynchronously.voidIgnores check on server certificate for HTTPS connection.Do ListBuckets S3 API asynchronously.Do ListMultipartUploads S3 API asynchronously.Do ListObjects version 1 S3 API asynchronously.Do ListObjects version 2 S3 API asynchronously.Do ListObjectVersions API asynchronously.listParts(ListPartsArgs args) Do ListParts S3 API asynchronously.protected <T> CompletableFuture<T>putObject(PutObjectAPIArgs args) Do PutObject S3 API asynchronously.voidsetAppInfo(String name, String version) Sets application's name/version to user agent.voidsetAwsS3Prefix(String awsS3Prefix) Sets AWS S3 domain prefix.voidSets request retry parameters.voidsetTimeout(long connectTimeout, long writeTimeout, long readTimeout) Sets HTTP connect, write and read timeouts.protected <T> CompletableFuture<T>supplyAsync(Supplier<T> supplier) voidtraceOff()Disables HTTP call tracing previously enabled.voidtraceOn(OutputStream traceStream) Enables HTTP call tracing and written to traceStream.uploadPart(UploadPartArgs args) Do UploadPart S3 API asynchronously.
-
Field Details
-
NO_SUCH_BUCKET_MESSAGE
- See Also:
-
NO_SUCH_BUCKET
- See Also:
-
NO_SUCH_BUCKET_POLICY
- See Also:
-
NO_SUCH_OBJECT_LOCK_CONFIGURATION
- See Also:
-
SERVER_SIDE_ENCRYPTION_CONFIGURATION_NOT_FOUND_ERROR
- See Also:
-
MAX_BUCKET_POLICY_SIZE
protected static final int MAX_BUCKET_POLICY_SIZE- See Also:
-
RANDOM
-
OBJECT_MAPPER
protected static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER -
regionCache
-
userAgent
-
baseUrl
-
provider
-
httpClient
protected volatile okhttp3.OkHttpClient httpClient -
closeHttpClient
protected boolean closeHttpClient
-
-
Constructor Details
-
BaseS3Client
protected BaseS3Client(Http.BaseUrl baseUrl, Provider provider, okhttp3.OkHttpClient httpClient, boolean closeHttpClient) -
BaseS3Client
-
-
Method Details
-
close
public void close()Closes underneath HTTP client.- Specified by:
closein interfaceAutoCloseable
-
setRetry
Sets request retry parameters. Any null/invalid values disable retry.Example:
minioClient.setRetry(ImmutableSet.of(408, 504), 250, 3);- Parameters:
retryStatusCodes- HTTP status codes to be retried.delayMs- Delay between retries.maxRetries- Maximum number of retry attempts.
-
setTimeout
public void setTimeout(long connectTimeout, long writeTimeout, long readTimeout) Sets HTTP connect, write and read timeouts. A value of 0 means no timeout, otherwise values must be between 1 and Integer.MAX_VALUE when converted to milliseconds.Example:
minioClient.setTimeout(TimeUnit.SECONDS.toMillis(10), TimeUnit.SECONDS.toMillis(10), TimeUnit.SECONDS.toMillis(30));- Parameters:
connectTimeout- HTTP connect timeout in milliseconds.writeTimeout- HTTP write timeout in milliseconds.readTimeout- HTTP read timeout in milliseconds.
-
ignoreCertCheck
Ignores check on server certificate for HTTPS connection.Example:
minioClient.ignoreCertCheck();- Throws:
MinioException- thrown to indicate SDK exception.
-
setAppInfo
Sets application's name/version to user agent. For more information about user agent refer #rfc2616.- Parameters:
name- Your application name.version- Your application version.
-
traceOn
Enables HTTP call tracing and written to traceStream.- Parameters:
traceStream-OutputStreamfor writing HTTP call tracing.- See Also:
-
traceOff
public void traceOff()Disables HTTP call tracing previously enabled.- See Also:
-
enableDualStackEndpoint
public void enableDualStackEndpoint()Enables dual-stack endpoint for Amazon S3 endpoint. -
disableDualStackEndpoint
public void disableDualStackEndpoint()Disables dual-stack endpoint for Amazon S3 endpoint. -
enableVirtualStyleEndpoint
public void enableVirtualStyleEndpoint()Enables virtual-style endpoint. -
disableVirtualStyleEndpoint
public void disableVirtualStyleEndpoint()Disables virtual-style endpoint. -
setAwsS3Prefix
Sets AWS S3 domain prefix. -
supplyAsync
-
newCompleteableFuture
-
executeAsync
Execute HTTP request asynchronously for given parameters. -
executeAsync
Execute HTTP request asynchronously for given args and parameters. -
executeGetAsync
protected CompletableFuture<okhttp3.Response> executeGetAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams) Execute asynchronously GET HTTP request for given parameters. -
executeHeadAsync
protected CompletableFuture<okhttp3.Response> executeHeadAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams) Execute asynchronously HEAD HTTP request for given parameters. -
executeDeleteAsync
protected CompletableFuture<okhttp3.Response> executeDeleteAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams) Execute asynchronously DELETE HTTP request for given parameters. -
executePostAsync
protected CompletableFuture<okhttp3.Response> executePostAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams, Http.Body body) Execute asynchronously POST HTTP request for given parameters. -
executePutAsync
protected CompletableFuture<okhttp3.Response> executePutAsync(BaseArgs args, Http.Headers headers, Http.QueryParameters queryParams, Http.Body body) Execute asynchronously PUT HTTP request for given parameters. -
getRegion
Returns region of given bucket either from region cache or set in constructor. -
checkArgs
Check whether argument is valid or not. -
abortMultipartUpload
public CompletableFuture<AbortMultipartUploadResponse> abortMultipartUpload(AbortMultipartUploadArgs args) Do AbortMultipartUpload S3 API asynchronously.- Parameters:
args-AbortMultipartUploadArgsobject.- Returns:
CompletableFuture<AbortMultipartUploadResponse> object.
-
completeMultipartUpload
public CompletableFuture<ObjectWriteResponse> completeMultipartUpload(CompleteMultipartUploadArgs args) Do CompleteMultipartUpload S3 API asynchronously.- Parameters:
args-CompleteMultipartUploadArgsobject.- Returns:
CompletableFuture<ObjectWriteResponse> object.
-
copyObject
Do CopyObject S3 API asynchronously.- Parameters:
args-CopyObjectArgsobject.- Returns:
CompletableFuture<ObjectWriteResponse> object.
-
createBucket
Do CreateBucket S3 API asynchronously.- Parameters:
args-CreateBucketArgsobject.- Returns:
CompletableFuture<GenericResponse> object.
-
createMultipartUpload
public CompletableFuture<CreateMultipartUploadResponse> createMultipartUpload(CreateMultipartUploadArgs args) Do CreateMultipartUpload S3 API asynchronously.- Parameters:
args-CreateMultipartUploadArgsobject.- Returns:
CompletableFuture<CreateMultipartUploadResponse> object.
-
deleteObjects
Do DeleteObjects S3 API asynchronously.- Parameters:
args-DeleteObjectsArgsobject.- Returns:
CompletableFuture<DeleteObjectsResponse> object.
-
getBucketLocation
Do GetBucketLocation S3 API asynchronously.- Parameters:
args-GetBucketLocationArgsobject.- Returns:
CompletableFuture<String> object.
-
headBucket
Do HeadBucket S3 API asynchronously.- Parameters:
args-HeadBucketArgsobject.- Returns:
CompletableFuture<HeadBucketResponse> object.
-
headObject
Do HeadObject S3 API asynchronously.- Parameters:
args-HeadObjectArgsobject.- Returns:
CompletableFuture<HeadObjectResponse> object.
-
listBucketsAPI
Do ListBuckets S3 API asynchronously.- Parameters:
args-ListBucketsArgsobject.- Returns:
CompletableFuture<ListBucketsResponse> object.
-
listMultipartUploads
public CompletableFuture<ListMultipartUploadsResponse> listMultipartUploads(ListMultipartUploadsArgs args) Do ListMultipartUploads S3 API asynchronously.- Parameters:
args-ListMultipartUploadsArgsobject.- Returns:
CompletableFuture<ListMultipartUploadsResponse> object.
-
listObjectsV1
Do ListObjects version 1 S3 API asynchronously.- Parameters:
args-ListObjectsV1Argsobject.- Returns:
CompletableFuture<ListObjectsV1Response> object.
-
listObjectsV2
Do ListObjects version 2 S3 API asynchronously.- Parameters:
args-ListObjectsV2Argsobject.- Returns:
CompletableFuture<ListObjectsV2Response> object.
-
listObjectVersions
public CompletableFuture<ListObjectVersionsResponse> listObjectVersions(ListObjectVersionsArgs args) Do ListObjectVersions API asynchronously.- Parameters:
args-ListObjectVersionsArgsobject.- Returns:
CompletableFuture<ListObjectVersionsResponse> object.
-
listParts
Do ListParts S3 API asynchronously.- Parameters:
args-ListPartsArgsobject.- Returns:
CompletableFuture<ListPartsResponse> object.
-
putObject
Do PutObject S3 API asynchronously.- Parameters:
args-PutObjectAPIArgsobject.- Returns:
CompletableFuture<ObjectWriteResponse> object.
-
uploadPart
Do UploadPart S3 API asynchronously.- Parameters:
args-UploadPartArgsobject.- Returns:
CompletableFuture<UploadPartResponse> object.
-
uploadPartCopy
- Parameters:
args-UploadPartCopyArgsobject.- Returns:
CompletableFuture<UploadPartCopyResponse> object.
-