本文將介紹如何通過API新增和刪除表資料。
1、添加表
使用者可通過添加表並配置OSS、MaxCompute、資料湖構建(DLF)資料來源將全量資料匯入到表中:
在執行個體詳情頁面左側導覽列中,單擊表管理,然後單擊添加表。
添加表的具體步驟可參考:
添加表的流程配置完成後,等待表的狀態為使用中即可通過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://首碼);本地/公網訪問請填寫公網網域名稱(含public)
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://
-
本地或公網環境訪問時,endpoint請填寫公網網域名稱(含public的網域名稱),並確保已開啟公網訪問並配置白名單;同VPC內(如ECS)訪問時填寫私網網域名稱。
-
dataSourceName資料來源名稱為執行個體id_表名,例如dataSourceName=ha-cn-zpr3dgzxg04_test_vector_api
response中返回{"status": "OK", "code": 200} 說明本次請求成功。
4、驗證資料
通過主鍵或向量在查詢測試中進行驗證:
在左側導覽列中,單擊向量管理 > 查詢測試,選擇向量查詢頁簽。在表名下拉框中選擇目標表,在左側編輯地區輸入JSON格式的查詢請求(包含vector、topK、indexName、includeVector等參數),單擊搜尋,右側將顯示查詢結果及耗時資訊。
其他SDK參考
其他語言SDK可參考查詢資料。