MilvusClient
MilvusClient is an abstract interface of the Milvus client. MilvusServiceClient class is the implementation.
package io.milvus.client;
MilvusServiceClient(ConnectParam connectParam)
Methods of MilvusClient for connection:
Method | Description | Parameters | Returns |
---|---|---|---|
withTimeout(long timeout, TimeUnit timeoutUnit) | Timeout setting for RPC call. | timeout: The timeout period when invoking a method. timeoutUnit: The unit for timeout. | MilvusClient |
withRetry(RetryParam retryParam) | Sets the parameters for retry. | retryParam: Parameter for retry on failure. | MilvusClient |
close(long maxWaitSeconds) | Disconnects from a Milvus server with a configurable timeout value. Call this method before the application terminates.This method throws an | maxWaitSeconds: The timeout period to wait for the RPC channel to close. | N/A |
setLogLevel(LogLevel level) | Set log level in runtime.Note: this method cannot change the log level configured by log4j configurations. It only hides some logs inside the MilvusClient class. | level: A log level | N/A |
ConnectParam
Use the ConnectParam.Builder
to construct a ConnectParam
object for the MilvusClient.
import io.milvus.param.ConnectParam;
ConnectParam.Builder builder = ConnectParam.newBuilder();
Methods of ConnectParam.Builder
:
Method | Description | Patameters |
---|---|---|
withHost(String host) | Sets the host name or address. | host: The name or address of the host. |
withPort(int port) | Sets the connection port. | port: The connection port. |
withUri(String uri) | Sets the uri of remote service. | uri: The uri of remote service. |
withToken(String token) | Sets the token of remote service. | token: serving as the key for identification and authentication purposes. |
withDatabaseName(String databaseName) | Sets the database name. database name can be null for default database. | databaseName: The database name. |
withConnectTimeout(long connectTimeout, TimeUnit timeUnit) | Sets the connection timeout value of client channel. The timeout value must be greater than zero. The default value is 10 seconds. | connectTimeout: The connection timeout period. |
withKeepAliveTime(long keepAliveTime, TimeUnit timeUnit) | Sets the keep-alive time value of the client channel. The time value must be greater than zero. The default value is 55 seconds. | keepAliveTime: The keep-alive time period. |
withKeepAliveTimeout(long keepAliveTimeout, TimeUnit timeUnit) | Sets the keep-alive timeout value of client channel. The timeout value must be greater than zero. The default value is 20 seconds. | keepAliveTimeout: The keep-alive timeout value. |
keepAliveWithoutCalls(boolean enable) | Enables the keep-alive function for the client channel. The default value is false. | enable: Boolean value to indicate if the keep-alive function is enabled. The keep-alive function is enabled if the value is set to true. |
secure(boolean enable) | Enables security for the client channel. | enable: Security is enabled if the value is set to true. |
withIdleTimeout(long idleTimeout, TimeUnit timeUnit) | Sets the value of idle timeout of the client channel. The timeout value must be greater than zero. The default value is 24 hours. | idleTimeout: The idle timeout period of the client channel. |
withRpcDeadline(long deadline, TimeUnit timeUnit) | Set a deadline for how long you are willing to wait for a reply from the server. | deadline: deadline value |
withAuthorization(String username, String password) | Sets the username and password for this connection. | username: The username of the current user. |
withClientKeyPath(String clientKeyPath) | Set the client.key path for tls two-way authentication, only takes effect when "secure" is True. | clientKeyPath: The local path of client.key |
withClientPemPath(String clientPemPath) | Set the client.pem path for tls two-way authentication, only takes effect when "secure" is True. | clientPemPath: The local path of client.pem |
withCaPemPath(String caPemPath) | Set the ca.pem path for tls two-way authentication, only takes effect when "secure" is True. | caPemPath: The local path of ca.pem |
withServerPemPath(String serverPemPath) | Set the server.pem path for tls one-way authentication, only takes effect when "secure" is True. | serverPemPath: The local path of server.pem |
withServerName(String serverName) | Set target name override for SSL host name checking, only takes effect when "secure" is True. | serverName: The override name for SSL host. |
build() | Constructs a ConnectParam object. | N/A |
The ConnectParam.Builder.build()
can throw the following exceptions:
- ParamException: error if the parameter is invalid.
RetryParam
Use the RetryParam.Builder
to construct a RetryParam object for the MilvusClient
.
import io.milvus.param.RetryParam;
RetryParam.Builder builder = RetryParam.newBuilder();
Methods of RetryParam.Builder
:
Method | Description | Patameters |
---|---|---|
withMaxRetryTimes(int maxRetryTimes) | Sets the max retry times on failure.Default value is 75. | maxRetryTimes: The maxinum times to retry. |
withInitialBackOffMs(long initialBackOffMs) | Sets the first time interval between two retries, units: millisecond. Default value is 10ms. | initialBackOffMs: Retry initial interval value in milliseconds. |
withMaxBackOffMs(long maxBackOffMs) | Sets the maximum time interval between two retries, units: millisecond. Default value is 3000ms. | maxBackOffMs: Retry maximum interval value in milliseconds. |
withBackOffMultiplier(int backOffMultiplier) | Sets multiplier to increase time interval after each retry. Default value is 3. | backOffMultiplier: The multiplier to increase time interval after each retry. |
withRetryOnRateLimie(boolean retryOnRateLimie) | Sets whether to retry when the returned error is rate limit. Default value is true. | retryOnRateLimit: Whether to retry when the returned error is rate limit. |
build() | Constructs a RetryParam object. | N/A |
The RetryParam.Builder.build()
can throw the following exceptions:
- ParamException: error if the parameter is invalid.
Example
- Without timeout setting for RPC call:
import io.milvus.param.*;
import io.milvus.client.*;
ConnectParam connectParam = ConnectParam.newBuilder()
.withHost("localhost")
.withPort(19530)
.withAuthorization("root", "Milvus")
.build();
RetryParam retryParam = RetryParam.newBuilder()
.withMaxRetryTimes(10)
.build();
MilvusClient client = new MilvusServiceClient(connectParam).withRetry(retryParam);
ShowCollectionsParam param = ShowCollectionsParam.newBuilder().build()
R<ShowCollectionsResponse> response = client.showCollections(param);
client.close(1);
- With timeout setting for RPC call:
import io.milvus.param.*;
import io.milvus.client.*;
import java.util.concurrent.TimeUnit;
ConnectParam connectParam = ConnectParam.newBuilder()
.withHost("localhost")
.withPort(19530)
.withAuthorization("root", "Milvus")
.build();
MilvusClient client = new MilvusServiceClient(connectParam);
ShowCollectionsParam param = ShowCollectionsParam.newBuilder().build()
R<ShowCollectionsResponse> response = client.withTimeout(2, TimeUnit.SECONDS).showCollections(param);
client.close(1);