session()
公测版此操作会创建一个绑定到特定按需集群的轻量级 DQL 会话。通过该会话执行的所有操作都会自动包含目标 cluster_id,从而确保在多集群部署中将请求路由到正确的集群。
Notes
此方法仅适用于按需计算。使用项目 Endpoint 创建 MilvusClient,例如 https://{project-id}.{region}.api.zillizcloud.com,然后将目标按需集群 ID 传递给 session()。
请求语法
python
MilvusClient.session(
cluster_id: str
) -> MilvusClientSession
参数:
-
cluster_id (str) -
[必需]
目标按需集群的标识符。该值必须为非空字符串。
返回类型:
MilvusClientSession
一个会话对象,用于将 search、query 和 get 操作代理到指定的按需集群。
异常:
-
ParamError
当
cluster_id不是字符串或为空时引发。
示例
python
from pymilvus import MilvusClient
client = MilvusClient(
uri="https://{proj-xxxxxxxx}.{region}.api.zillizcloud.com",
token="YOUR_API_KEY"
)
# Create a session pinned to cluster-1
session = client.session(
cluster_id="my_on_demand"
)
# All operations through this session automatically target my_on_demand
results = session.search(
collection_name="my_collection",
data=[[0.1, 0.2, 0.3, 0.4]],
limit=5
)
# Session supports search, hybrid_search, query, query_iterator,
# search_iterator, and get
entities = session.get(
collection_name="my_collection",
ids=[1, 2, 3]
)