跳到主要内容

VolumeBulkWriter

VolumeBulkWriter 用于将本地批量文件写入远程卷。

请求语法​

python
VolumeBulkWriter(
schema: CollectionSchema,
remote_path: str,
cloud_endpoint: str,
api_key: str,
volume_name: str,
chunk_size: int = 1024 * MB,
file_type: BulkFileType = BulkFileType.PARQUET,
config: Optional[dict] = None,
connect_type: ConnectType = ConnectType.AUTO,
**kwargs,
)

参数:

  • schema (CollectionSchema) -
    [必填]
    用于验证数据行并生成批量文件的 Collection Schema。

  • remote_path (str) -
    [必填]
    目标卷中用于上传已提交文件的目录。

  • cloud_endpoint (str) -
    [必填]
    Zilliz Cloud API 服务器 Endpoint,即 https://api.cloud.zilliz.com。

  • api_key (str) -
    [必填]
    用于向 Zilliz Cloud 进行身份验证的 API 密钥。

  • volume_name (str) -
    [必填]
    目标 Zilliz Cloud 卷的名称。

  • chunk_size (int) -
    默认值:1024 * MB
    写入器开始写入新文件前允许的最大本地分块大小(以字节为单位)。

  • file_type (BulkFileType) -
    默认值:BulkFileType.PARQUET
    写入器生成的批量文件格式。

  • config (Optional[dict]) -
    默认值:None
    可选的写入器配置。

  • connect_type (ConnectType) -
    默认值:ConnectType.AUTO
    卷操作所使用的连接模式。

  • kwargs (Any) -
    传递给 LocalBulkWriter 的额外选项。

返回类型:

VolumeBulkWriter

返回值:

一个写入器对象,用于在本地暂存批量文件,并将已提交的文件上传至指定的 Zilliz Cloud 卷。

异常:

  • MilvusException
    当服务器拒绝请求或 RPC 失败时抛出。请查看服务器错误消息以获取具体的失败原因。

示例​

以下示例演示了 VolumeBulkWriter 的使用方法。

python
from pymilvus.bulk_writer import VolumeFileManager, VolumeManager

manager = VolumeManager(cloud_endpoint="https://api.cloud.zilliz.com", api_key="YOUR_API_KEY")
manager.create_volume(project_id="proj-xxxx", region_id="aws-us-west-2", volume_name="book-volume", volume_type="EXTERNAL")
manager.describe_volume("book-volume")
manager.list_volumes(project_id="proj-xxxx", volume_type="EXTERNAL")

file_manager = VolumeFileManager(cloud_endpoint="https://api.cloud.zilliz.com", api_key="YOUR_API_KEY", volume_name="book-volume")
file_manager.upload_file_to_volume(source_file_path="./data/books.parquet", target_volume_path="datasets/books/books.parquet", upload_concurrency=4)
最低 SDK 版本v2.6.x