本文档介绍如何使用Java、Python语言获取表的统计数据。
相关依赖
Java异步
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-ha3engine-async</artifactId>
<version>1.1.3</version>
</dependency>
Java
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-ha3engine-vector</artifactId>
<version>1.1.8</version>
</dependency>
Python
#Requires: Python >=3.6
pip install alibabacloud-ha3engine-vector
Go
go get github.com/aliyun/alibabacloud-ha3-go-sdk@v1.1.8-vector
参数说明
Java、Python SDK中都需要配置如下4个必要参数(endpoint、instance_id、access_user_name、access_pass_word):
endpoint:私网/公网域名
可在实例详情页中网络信息和API入口查看:
开启公网访问后可以在本地通过公网域名(包含public的域名)调用实例,可以参考添加白名单配置访问的白名单IP。
若有ECS机器,可通过配置相同的交换机通过API域名调用实例。
instance_id:实例ID
access_user_name:用户名
access_pass_word:密码
用户名和密码可以在实例详情页中API入口处进行查看:(密码是购买实例时设置的,可以修改)
SDK 示例
Java异步
package com.aliyun.ha3engine;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import com.aliyun.ha3engine.async.AsyncClient;
import com.aliyun.ha3engine.async.models.SearchResponse;
import com.aliyun.ha3engine.async.models.StatsRequest;
import com.aliyun.sdk.ha3engine.async.core.AsyncConfigInfoProvider;
import com.aliyun.tea.TeaException;
import darabonba.core.client.ClientOverrideConfiguration;
/**
* @author alibaba
*/
public class SearchDoc {
public static void main(String[] args) throws Exception {
try {
// 配置实例的用户名密码, 可在实例详情页>网络信息 查看
AsyncConfigInfoProvider provider = AsyncConfigInfoProvider.create("username", "password");
// 初始化异步客户端
AsyncClient client = AsyncClient.builder()
.credentialsProvider(provider)
.overrideConfiguration(
ClientOverrideConfiguration.create()
//公网域名, 实例名可在实例详情页>API入口 查看
.setEndpointOverride("ha-cn-***********.public.ha.aliyuncs.com")
.setProtocol("http")
).build();
StatsRequest statsRequest = StatsRequest.builder().tableName("table_name").build();
CompletableFuture<SearchResponse> searchResponseCompletableFuture = client.stats(statsRequest);
String responseBody = searchResponseCompletableFuture.get().getBody();
System.out.println("result:" + responseBody);
} catch (ExecutionException | InterruptedException e) {
System.out.println(e.getMessage());
} catch (TeaException e) {
System.out.println(e.getMessage());
Map<String, Object> abc = e.getData();
System.out.println(com.aliyun.teautil.Common.toJSONString(abc));
}
}
}
Java
package com.aliyun.ha3engine.demo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import com.aliyun.ha3engine.vector.Client;
import com.aliyun.ha3engine.vector.models.Config;
import com.aliyun.ha3engine.vector.models.SearchResponse;
import com.aliyun.tea.TeaException;
import org.junit.Before;
import org.junit.Test;
public class Demo {
/**
* 问天引擎client
*/
private Client client;
@Before
public void clientInit() throws Exception {
/*
初始化问天引擎client
*/
Config config = new Config();
// 实例名称,可在实例详情页左上角查看,例:ha-cn-i7*****605
config.setInstanceId("ha-cn-i7*****605");
// 用户名,可在实例详情页>网络信息 查看
config.setAccessUserName("username");
// 密码,可在实例详情页>网络信息 修改
config.setAccessPassWord("password");
//私网域名调用请填写endpoint
config.setEndpoint("ha-cn-i7*****605.public.ha.aliyuncs.com");
//公网ip调用填写httpProxy,如需要公网IP调用,请打开如下注释
// config.setHttpProxy("http://116.62.***.***:80");
client = new Client(config);
}
@Test
public void stats() throws Exception {
try {
SearchResponse searchResponse = client.stats("gist");
System.out.println("搜索结果:\n" + searchResponse.getBody());
} catch (TeaException e) {
System.out.println(e.getCode());
System.out.println(e.getMessage());
Map<String, Object> abc = e.getData();
System.out.println(com.aliyun.teautil.Common.toJSONString(abc));
}
}
}
Python
from alibabacloud_ha3engine_vector.client import Client
from alibabacloud_ha3engine_vector.models import Config
config = Config(
# 私网域名调用请填写endpoint
endpoint="ha-cn-7mz2ougaw02.ha.aliyuncs.com",
# 实例名称,可在实例详情页左上角查看,例:ha-cn-i7*****605
instance_id="ha-cn-7mz2ougaw02",
# 用户名,可在实例详情页>网络信息 查看
access_user_name="user",
# 密码,可在实例详情页>网络信息 修改
access_pass_word="111111")
client = Client(config)
result = client.stats("gist")
Go
package main
import (
"fmt"
"github.com/alibabacloud-go/tea/tea"
ha3engine "github.com/aliyun/alibabacloud-ha3-go-sdk/client"
)
func main() {
// 创建请求客户端配置
config := &ha3engine.Config{
// 私网域名或者公网域名
Endpoint: tea.String("<Endpoint>"),
// 实例名称,可在实例详情页左上角查看,例:ha-cn-i7*****605
InstanceId: tea.String("<InstanceId>"),
// 用户名,可在实例详情页>网络信息 查看
AccessUserName: tea.String("<AccessUserName>"),
// 密码,可在实例详情页>网络信息 修改
AccessPassWord: tea.String("<AccessPassWord>"),
}
// 初始化一个client, 用以发送请求.
client, _clientErr := ha3engine.NewClient(config)
// 如果 NewClient 过程中出现异常. 则 返回 _clientErr 且输出 错误信息.
if _clientErr != nil {
fmt.Println(_clientErr)
return
}
stats(client)
}
/**
* 数据统计
*/
func stats(client *ha3engine.Client) {
response, _requestErr := client.Stats(tea.String("api"))
// 如果 发送请求 过程中出现异常. 则 返回 _requestErr 且输出 错误信息.
if _requestErr != nil {
fmt.Println(_requestErr)
return
}
// 输出正常返回的 response 内容.
fmt.Println(response)
}
说明
请求的相应结果可参考流量API说明>统计数据中的返回参数
不要使用
go get github.com/aliyun/alibabacloud-ha3-go-sdk
命令拉取git依赖,必须后面指定版本,因为向量检索版和召回引擎版的tag都在同一个github下,拉取依赖的时候需根据实例的版本拉取对应依赖
文档内容是否对您有帮助?