本文将介绍如何通过API新增和删除表数据
1、添加表
用户可通过添加表并配置oss、MaxCompute数据源将全量数据导入到表中:
添加表的具体步骤可参考:
添加表的流程配置完成后,等待表的状态为“使用中”即可通过API插入数据:
2、配置公网白名单
如果用户的访问环境是同个虚拟交换的VPC环境,可以忽略此步骤。
本地环境或公网环境请参考公网白名单配置。
3、推送表数据
以Python为例:
添加依赖:
pip install alibabacloud-ha3engine-vector
数据推送demo:
# -*- coding: utf-8 -*-
from alibabacloud_ha3engine_vector import models, client
from Tea.exceptions import TeaException, RetryError
Config = models.Config(
endpoint="<API域名>", # // API域名,可在实例详情页>API入口 查看(需要去掉http://前缀)
instance_id="<实例id>", # // 实例id,可在实例详情页左上角查看,例:ha-cn-i7*****605
protocol="http",
access_user_name="<用户名>", # // 用户名,可在实例详情页>API入口 查看
access_pass_word="<用户名密码>" # // 用户名密码,可在实例详情页>API入口 修改
)
# 初始化 引擎客户端
ha3EngineClient = client.Client(Config)
def push():
# 文档推送的表名称,是实例id与表名的拼接,中间用下划线连接
tableName = "<instance_id>_<table_name>";
try:
# 添加文档
# 添加一篇文档,如果文档已经存在会先删除然后再添加。
# =====================================================
# 更新文档内容信息
add2DocumentFields = {
"id": 1, # 主键id,INT单值类型
"cate_id": "123", # STRING单值类型
"vector": "a\x1Db\x1Dc\x1Dd" # STRING多值类型
}
# 将文档内容添入 add2Document结构
add2Document = {
"fields": add2DocumentFields,
"cmd": "add" # 新增对应的文档命令: add
}
optionsHeaders = {}
# 文档推送外层结构, 可添加对文档操作的结构体.结构内支持 一个或多个文档操作内容.
documentArrayList = []
documentArrayList.append(add2Document)
pushDocumentsRequest = models.PushDocumentsRequest(optionsHeaders, documentArrayList)
# 文档推送的文档主键字段.
pkField = "id"
# 使用默认 运行时参数进行请求
response = ha3EngineClient.push_documents(tableName, pkField, pushDocumentsRequest)
print(response.body)
print(response.body)
except TeaException as e:
print(f"send request with TeaException : {e}")
except RetryError as e:
print(f"send request with Connection Exception : {e}")
if __name__ == "__main__":
push()
注意:
Python SDK中endpoint里需要去掉http://
dataSourceName数据源名称为实例id_表名,如下图所示,dataSourceName=ha-cn-zpr3dgzxg04_test_vector_api
response中返回{"status": "OK", "code": 200} 说明本次请求成功。
4、验证数据
通过主键或向量在查询测试中进行验证:
其他SDK参考
其他语言SDK可参考查询数据。
文档内容是否对您有帮助?