uploadFilesAsync()
Uploads a local file or directory to a volume asynchronously.
public CompletableFuture<UploadFilesResult> uploadFilesAsync(UploadFilesRequest request)
Request Syntax
UploadFilesRequest.builder()
.sourceFilePath(sourceFilePath)
.targetVolumePath(targetVolumePath)
.uploadConcurrency(uploadConcurrency)
.maxRetries(maxRetries)
.retryIntervalMillis(retryIntervalMillis)
.progressListener(progressListener)
.partSizeBytes(partSizeBytes)
.build();
BUILDER METHODS:
sourceFilePath(String sourceFilePath)The full path of the local file or directory to upload. Directory paths must end with
/.targetVolumePath(String targetVolumePath)The destination directory in the volume. Leave it empty for the root directory, or end it with
/for a folder.uploadConcurrency(int uploadConcurrency)The maximum number of files uploaded concurrently. Defaults to 5.
maxRetries(int maxRetries)The maximum number of retries for each file. Defaults to 5.
retryIntervalMillis(long retryIntervalMillis)The interval between retries, in milliseconds. Defaults to 5,000 milliseconds.
progressListener(ProgressListener progressListener)The optional
UploadFilesRequest.ProgressListenercallback that receivesUploadProgresssnapshots.UploadProgress-The snapshot passed to
UploadFilesRequest.ProgressListener.onProgress(...).getUploadedBytes()-Returns the bytes uploaded across all files.
getTotalBytes()-Returns the total bytes scheduled for upload.
getCompletedFiles()-Returns the number of files uploaded successfully.
getTotalFiles()-Returns the total number of files scheduled for upload.
getCurrentFile()-Returns the path of the file currently being uploaded.
getCurrentFileUploadedBytes()-Returns the uploaded bytes for the current file.
getCurrentFileTotalBytes()-Returns the total bytes in the current file.
getPercent()-Returns the aggregate upload percentage.
partSizeBytes(long partSizeBytes)The multipart upload part size in bytes. A value of 0 or less selects the part size automatically.
RETURNS:
CompletableFuture
EXCEPTIONS:
MilvusClientExceptions
Raised when any error occurs during this operation. Inspect the exception message for the exact failure reason.
Example
Uploads a local file or directory to a volume asynchronously.
CompletableFuture<UploadFilesResult> future = volumeFileManager.uploadFilesAsync(
UploadFilesRequest.builder()
.sourceFilePath("/data/books.json")
.targetVolumePath("imports/books.json")
.uploadConcurrency(5)
.progressListener(progress ->
System.out.printf("Uploaded %.2f%% (%d/%d bytes)%n",
progress.getPercent(),
progress.getUploadedBytes(),
progress.getTotalBytes()))
.build());
UploadFilesResult result = future.get();