• Über Milvus
  • Los geht's
  • Konzepte
  • Benutzerhandbuch
  • Datenimport
  • AI-Tools
  • Leitfaden für die Verwaltung
  • Werkzeuge
  • Integrationen
  • Anleitungen
  • FAQs
  • API Reference

Verbindung zum Milvus-Server herstellen

In diesem Thema wird beschrieben, wie Sie eine Client-Verbindung zu einem Milvus-Server herstellen und allgemeine Verbindungsoptionen konfigurieren.

Voraussetzungen

Verbindung über URI (Authentifizierung deaktiviert)

Verwenden Sie die Milvus-Serveradresse (z. B. http://localhost:19530), um eine Verbindung herzustellen.

from pymilvus import MilvusClient

client = MilvusClient("http://localhost:19530")
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .build();
client = new MilvusClientV2(config);
import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530'
});
import "github.com/milvus-io/milvus/client/v2/milvusclient"

c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
})
# The RESTful API is stateless, so there is no persistent connection.
# Each request hits the server directly; the /collections/list endpoint
# doubles as a health check when you need to verify reachability.
export HOST="localhost:19530"

curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Content-Type: application/json" \
    -d '{}'

Verbinden mit Anmeldeinformationen (Authentifizierung aktiviert)

Geben Sie entweder ein Token in der Form "username:password" oder separat user und password an. Der standardmäßig eingebaute Admin ist root:Milvus (ändern Sie dies für die Produktion).

from pymilvus import MilvusClient

# Token form
client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus",
)

# Or explicit user/password
client = MilvusClient(
    uri="http://localhost:19530",
    user="root",
    password="Milvus",
)
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .username("root")
        .password("Milvus")
        .build();
client = new MilvusClientV2(config);
import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530',
   username: 'root',
   password: 'Milvus'
});
import "github.com/milvus-io/milvus/client/v2/milvusclient"

c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
    Username: "root",
    Password: "Milvus",
})
export HOST="localhost:19530"
export TOKEN="root:Milvus"

curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Authorization: Bearer ${TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{}'

Das Token-Format ist "<username>:<password>". In den Dokumenten wird root:Milvus ausdrücklich als Standard-Anmeldeinformation angegeben, und die Anleitung Benutzer und Rollen erstellen behandelt die Verwaltung von Benutzern.

Konfigurieren Sie eine Zeitüberschreitung

Legen Sie ein Standard-Timeout für die Client-Verbindung fest:

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530", timeout=1000) # If not set, the timeout defaults to 10s
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .rpcDeadlineMs(1000)
        .build();
client = new MilvusClientV2(config);

import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530',
   username: 'root',
   password: 'Milvus',
   timeout: 1000 // ms
});
// await client.listCollections({ timeout: 2000})
import "github.com/milvus-io/milvus/client/v2/milvusclient"

ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
})
export HOST="localhost:19530"
export TOKEN="root:Milvus"

# Request-Timeout is applied per-request (unit: seconds). --max-time
# caps the total curl wall-clock so the client gives up even if the
# server never responds.
curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Authorization: Bearer ${TOKEN}" \
    -H "Content-Type: application/json" \
    -H "Request-Timeout: 5" \
    --max-time 7 \
    -d '{}'
  • Bei den oben aufgeführten SDKs wird diese Zeitüberschreitung nur beim Verbindungsaufbau verwendet und dient nicht als Standardzeitüberschreitung für andere API-Vorgänge.

  • Für die RESTful-API ist Request-Timeout eine Frist pro Anfrage in Sekunden (im Gegensatz zu Javas rpcDeadlineMs und Node.js timeout, die in Millisekunden angegeben sind), also fügen Sie sie bei jedem Aufruf ein, der eine Frist benötigt.

Verbindung zu einer bestimmten Datenbank

Wählen Sie die Zieldatenbank während der Konstruktion mit db_name. Sie können auch später mit using_database() wechseln.

from pymilvus import MilvusClient

# Set the database when creating the client
client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus",
    db_name="analytics",
)

# (Optional) Switch the active database later
# client.using_database("reports")
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;

ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .username("root")
        .password("Milvus")
        .dbName("analytics")
        .build();
client = new MilvusClientV2(config);
import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const client = new MilvusClient({
   address: 'http://localhost:19530',
   username: 'root',
   password: 'Milvus',
   database: 'analytics'
});
// (Optional) Switch the active database later
// await milvusClient.useDatabase({
//   db_name: 'reports',
//});
import "github.com/milvus-io/milvus/client/v2/milvusclient"

c, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
    Address: "localhost:19530",
    DBName:  "analytics",
    APIKey:  "root:Milvus",
})
// (Optional) switch the active database later with:
err = c.UseDatabase(ctx, milvusclient.NewUseDatabaseOption("reports"))
export HOST="localhost:19530"
export TOKEN="root:Milvus"

# Target a specific database by setting "dbName" in the request body.
# The RESTful API is stateless, so include "dbName" on every request
# that should run against a non-default database.
curl -X POST "http://${HOST}/v2/vectordb/collections/list" \
    -H "Authorization: Bearer ${TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
      "dbName": "analytics"
    }'

Lesen Sie das Datenbankhandbuch zum Erstellen, Auflisten und Beschreiben von Datenbanken und für weitergehende Aufgaben der Datenbankverwaltung.

Was kommt als Nächstes