クラスターへの接続
アプリケーションで、スキーマ管理、insert、upsert、delete、search、query、hybrid search を含む コレクション API の全機能が必要な場合は、Dedicated クラスターのエンドポイントを使用します。
このページでは、Dedicated サービングクラスターに接続する方法について説明します。Free または Serverless クラスターに接続するには、Free & Serverless クラスター を参照してください。プロジェクトエンドポイントを介したオンデマンドコンピューティングについては、オンデマンド検索への接続 を参照してください。
エンドポイント形式
| クラスタータイプ | エンドポイントパターン | 注記 |
|---|---|---|
| Dedicated | https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530 | Dedicated クラスターは、ポート 19530 のリアルタイムサービングエンドポイントを使用します。 |
事前準備
Dedicated クラスターに接続する前に、以下を確認してください。
-
Zilliz Cloud のアカウントを登録していること。詳細については、Zilliz Cloud への登録を参照してください。
-
Dedicated クラスターを作成していること。
-
ユースケースに応じた 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 クラスターへの接続
- Python
- Java
- Go
- Rust
- C++
- NodeJS
- CSharp
- 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 });
using Milvus.Client.V2;
using Milvus.Client.V2.Types;
const string CLUSTER_ENDPOINT = "YOUR_CLUSTER_ENDPOINT";
const string TOKEN = "YOUR_CLUSTER_TOKEN";
MilvusClientV2 client = new(new ConnectConfig
{
Uri = CLUSTER_ENDPOINT,
ApiKey = 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 クラスター を参照してください。プロジェクトエンドポイントを介したオンデマンドコンピューティングについては、オンデマンド検索への接続 を参照してください。