クラスターへの接続
アプリケーションで、スキーマ管理、挿入、upsert、削除、検索、クエリ、ハイブリッド検索を含むコレクション API 全体が必要な場合は、Dedicated クラスターのエンドポイントを使用します。
このページでは、Dedicated サービス用クラスターへの接続方法を説明します。Free または Serverless クラスターに接続する場合は、Free & Serverless クラスター を参照してください。プロジェクトエンドポイントを介したオンデマンドコンピューティングについては、オンデマンド検索用の接続 を参照してください。
エンドポイント形式
| クラスタータイプ | エンドポイントのパターン | 注記 |
|---|---|---|
| Dedicated | https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530 | Dedicated クラスターは、ポート 19530 を使用するリアルタイムのサービス提供エンドポイントを使用します。 |
事前準備
Dedicated クラスターに接続する前に、以下を満たしていることを確認してください。
-
BYOC プロジェクトをデプロイしていること。詳細については、以下を参照してください。
-
アプリケーションと BYOC プロジェクト内のクラスター間のネットワーク構成を完了していること。詳細については、クラスター接続の準備 を参照してください。
-
クラスターを作成していること。
-
ユースケースに合った Milvus SDK をインストールしていること。詳細については、SDK のインストール を参照してください。
-
クラスターのパブリックエンドポイントを取得していること。
-
認証トークンを取得していること。これは、ターゲットクラスターにアクセスできる API キー、または
username:password形式のクラスター認証情報です。
クラスターのパブリックエンドポイントは、Zilliz Cloud コンソールから取得できます。対象のクラスターの クラスター Details ページに移動します。Connect カードで、クラスターのパブリックエンドポイントをコピーします。
SDK ではなく RESTful API を使用する場合、HTTP はリクエスト・レスポンス型の通信モデルに従うため、継続的な接続は確立されません。
SDK のインストール
アプリケーションの言語に対応する SDK をインストールします。
pip install pymilvus
Java、Node.js、Go プロジェクトでは、以下の例を使用する前に、プロジェクトに対応する Milvus SDK をインストールしてください。
Dedicated クラスターへの接続
SDK 間でクラスターのエンドポイントとトークンを一貫して使用します。YOUR_CLUSTER_ENDPOINT はクラスターの Connect カードからコピーしたパブリックエンドポイントで、YOUR_CLUSTER_TOKEN はターゲットクラスターにアクセスできる API キー、または username:password 形式のクラスター認証情報です。
- Python
- Java
- Go
- Rust
- C++
- NodeJS
- cURL
from pymilvus import MilvusClient
CLUSTER_ENDPOINT = "YOUR_CLUSTER_ENDPOINT"
TOKEN = "YOUR_CLUSTER_TOKEN"
client = MilvusClient(
uri=CLUSTER_ENDPOINT,
token=TOKEN,
)
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.client.ConnectConfig;
String CLUSTER_ENDPOINT = "YOUR_CLUSTER_ENDPOINT";
String TOKEN = "YOUR_CLUSTER_TOKEN";
ConnectConfig connectConfig = ConnectConfig.builder()
.uri(CLUSTER_ENDPOINT)
.token(TOKEN)
.build();
MilvusClientV2 client = new MilvusClientV2(connectConfig);
import (
"context"
"github.com/milvus-io/milvus/client/v3/milvusclient"
)
ctx := context.Background()
client, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
Address: "YOUR_CLUSTER_ENDPOINT",
APIKey: "YOUR_CLUSTER_TOKEN",
})
if err != nil {
// handle error
}
use milvus::v2::prelude::*;
let config = ConnectConfig::new()
.uri("YOUR_CLUSTER_ENDPOINT")
.token("YOUR_CLUSTER_TOKEN");
let client = ClientV2::new(&config).await?;
#include <iostream>
#include "milvus/MilvusClientV2.h"
auto client = milvus::MilvusClientV2::Create();
auto status = client->Connect(milvus::ConnectParam("YOUR_CLUSTER_ENDPOINT").WithToken("YOUR_CLUSTER_TOKEN"));
if (!status.IsOk()) {
std::cout << status.Message() << std::endl;
}
import { MilvusClient } from "@zilliz/milvus2-sdk-node";
const address = "YOUR_CLUSTER_ENDPOINT";
const token = "YOUR_CLUSTER_TOKEN";
const client = new MilvusClient({ address, token });
curl --request POST \
--url "YOUR_CLUSTER_ENDPOINT/v2/vectordb/collections/list" \
--header "Authorization: Bearer YOUR_CLUSTER_TOKEN" \
--header "Content-Type: application/json" \
--data '{"dbName": "default"}'
接続の確認
SDK で接続した後、コレクションの一覧表示などの軽量な操作を実行します。
collections = client.list_collections()
print(collections)
次のステップ
接続したら、同じクライアントインスタンスを使用して、Dedicated クラスターに対してコレクションの作成、データのロード、リアルタイムの検索またはクエリ操作を実行します。
Free または Serverless のサービス用クラスターについては、Free & Serverless クラスター を参照してください。プロジェクトエンドポイントを介したオンデマンドコンピューティングについては、オンデマンド検索用の接続 を参照してください。