@zilliz/milvus2-sdk-node
Version:
Official Node.js SDK for [Milvus](https://github.com/milvus-io/milvus) vector database. Provides gRPC and HTTP clients for vector similarity search, metadata filtering, and full collection/index/user management.
130 lines (129 loc) • 5.65 kB
TypeScript
import { Metadata, ChannelOptions } from '@grpc/grpc-js';
import { GetVersionResponse, CheckHealthResponse, CONNECT_STATUS, ClientConfig, RunAnalyzerRequest, RunAnalyzerResponse, ResStatus, AddFileResourceReq, RemoveFileResourceReq, ListFileResourcesReq, ListFileResourcesResponse, ClientTelemetryManager } from '../';
import { User } from './User';
export declare const LOADER_OPTIONS: {
keepCase: boolean;
longs: StringConstructor;
enums: StringConstructor;
defaults: boolean;
oneofs: boolean;
};
/**
* A client for interacting with the Milvus server via gRPC.
*/
export declare class GRPCClient extends User {
private _MilvusService;
private _ClientTelemetryService;
private telemetryClient?;
private telemetryChannelOptions;
private telemetryEndpointEpoch;
private readonly telemetry;
private telemetryDatabaseExplicit;
private lifecycleGeneration;
private closed;
private closePromise?;
private _sdkVersion;
/**
* Creates a new instance of MilvusClient.
* @param configOrAddress The Milvus server's address or client configuration object.
* @param ssl Whether to use SSL or not.
* @param username The username for authentication.
* @param password The password for authentication.
* @param channelOptions Additional channel options for gRPC.
*/
constructor(configOrAddress: ClientConfig | string, ssl?: boolean, username?: string, password?: string, channelOptions?: ChannelOptions);
connect(sdkVersion: string): void;
/**
* Initializes a global cluster connection.
* Fetches topology, resolves primary endpoint, creates pool, starts refresher.
*/
private _initGlobalConnection;
/**
* Reconnects to a new primary cluster after failover.
* Creates a new pool for the new primary, then drains the old pool.
* @returns true if primary changed and reconnection happened, false if primary unchanged
*/
reconnectToPrimary(): Promise<boolean>;
/**
* Attaches a failover handler to the channel pool for global cluster support.
* When promisify encounters a gRPC UNAVAILABLE error after all retries,
* this handler triggers topology refresh and pool rebuild.
*/
private _attachFailoverHandler;
/**
* Creates a pool of gRPC service clients.
* @returns {Pool} - A pool of gRPC service clients.
*/
private createChannelPool;
private createTelemetryClient;
private replaceTelemetryClient;
private disposeChannelPool;
private sendTelemetryHeartbeat;
/** Returns the telemetry manager for inspection and custom command handlers. */
getTelemetry(): ClientTelemetryManager;
/**
* Injects client metadata into the metadata of the gRPC client.
* @param metadata The metadata object of the gRPC client.
* @returns The updated metadata object.
*/
protected metadataListener(metadata: Metadata): Metadata;
/**
* Sets the active database for the gRPC client.
* @param data An optional object containing the name of the database to use.
* @returns A Promise that resolves with a `ResStatus` object.
*/
use(data?: {
db_name: string;
}): Promise<any>;
useDatabase: (data?: {
db_name: string;
}) => Promise<any>;
/**
* Retrieves server information from the Milvus server.
* @param {string} sdkVersion - The version of the SDK being used.
* @returns {Promise<void>} - A Promise that resolves when the server information has been retrieved.
*/
private _getServerInfo;
private applyServerInfo;
/**
* Closes the connection to the Milvus server.
* This method drains and clears the connection pool, and updates the connection status to SHUTDOWN.
* @returns {Promise<CONNECT_STATUS>} The updated connection status.
*/
closeConnection(): Promise<CONNECT_STATUS>;
private isLifecycleCurrent;
/**
* Returns version information for the Milvus server.
* This method returns a Promise that resolves with a `GetVersionResponse` object.
*/
getVersion(): Promise<GetVersionResponse>;
/**
* Checks the health of the Milvus server.
* This method returns a Promise that resolves with a `CheckHealthResponse` object.
*/
checkHealth(): Promise<CheckHealthResponse>;
/**
* Runs an analyzer on the provided text.
* @param {RunAnalyzerRequest} data - The request object containing analyzer parameters and text.
* @returns {Promise<RunAnalyzerResponse>} - A Promise that resolves with the analyzer response.
*/
runAnalyzer(data: RunAnalyzerRequest): Promise<RunAnalyzerResponse>;
/**
* Adds a file resource to Milvus metadata.
* @param {AddFileResourceReq} data - The file resource name and server-visible path.
* @returns {Promise<ResStatus>} - A Promise that resolves with the operation status.
*/
addFileResource(data: AddFileResourceReq): Promise<ResStatus>;
/**
* Removes a file resource from Milvus metadata.
* @param {RemoveFileResourceReq} data - The file resource name.
* @returns {Promise<ResStatus>} - A Promise that resolves with the operation status.
*/
removeFileResource(data: RemoveFileResourceReq): Promise<ResStatus>;
/**
* Lists file resources registered in Milvus metadata.
* @param {ListFileResourcesReq} [data] - Optional request parameters.
* @returns {Promise<ListFileResourcesResponse>} - A Promise that resolves with file resources.
*/
listFileResources(data?: ListFileResourcesReq): Promise<ListFileResourcesResponse>;
}