跳到主要内容

通过 RESTful API 导入

本文介绍如何通过 RESTful API 将数据导入现有 Collection 中。

开始前

请确保已完成以下步骤:

  • 已获取集群的 API 密钥。详情请参见管理 API 密钥

  • 已创建 Collection,且该 Collection 的 Schema 与示例数据集相匹配。已为该 Collection 创建索引,并已加载 Collection。详情请参见管理 Collection

通过 RESTful API 导入数据

要导入数据,需要先将数据上传到对象存储桶(如阿里云 OSS)。上传完成后,需获取文件路径和桶凭据,以便 Zilliz Cloud 从您的桶中提取数据。

有关如何获取文件 URL 和访问密钥,请参见:

根据您的数据安全需求,您也可以使用 Session Token

📘说明

为了成功导入数据,请确保目标 Collection 中的正在运行或待运行的导入任务不超过 10 个。

一旦获取到文件路径和存储桶凭证,按以下方式调用 API:

# replace url and token with your own
curl --request POST \
--url "https://api.cloud.zilliz.com.cn/v2/vectordb/jobs/import/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
-d '{
"clusterId": "inxx-xxxxxxxxxxxxxxx",
"collectionName": "medium_articles",
"partitionName": "",
"objectUrl": "https://s3.us-west-2.amazonaws.com/publicdataset.zillizcloud.com/medium_articles_2020_dpr/medium_articles_2020_dpr.json",
"accessKey": "",
"secretKey": ""
}'

在上述代码中,${CLOUD_REGION_ID} 代表您集群所在的云地域的 ID,${TOKEN} 是用于授权 API 请求的集群 API 密钥,${CLUSTER_ID} 是您的集群的 ID。在调用 API 时,请确保将这些占位符替换为您的实际值。您可以从集群的公共访问端点获取 CLOUD_REGION_IDCLUSTER_ID。例如,在公共访问端点 https://in03-3bf3c31f4248e22.api.ali-cn-hangzhou.cloud.zilliz.com.cn 中,CLOUD_REGION_IDali-cn-hangzhouCLUSTER_IDin03-3bf3c31f4248e22。有关更多信息,请参见Zilliz Cloud 控制台

提交请求后,将返回任务 ID。您可以通过任务 ID 查询数据导入进度。示例代码如下:

curl --request GET \
--url "https://api.cloud.zilliz.com.cn/v2/vectordb/jobs/import/getProgress" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
-d '{
"clusterId": "inxx-xxxxxxxxxxxxxxx",
"jobId": "job-xxxxxxxxxxxxxxxxxxxxx"
}'

有关更多信息,请参见导入查看导入进度

结果验证

如果请求返回以下类似内容,则表示数据导入成功:

{
"code": 0,
"data": {
"jobID": "job-xxxxxxxxxxxxxxxxxxxxx"
}
}

您也可以前往 Zilliz Cloud 控制台查看结果和任务详情:

zh_data_import_complete_restful