本章节以ListSearchLog为例,为您演示如何通过阿里云CLI、OpenAPI Explorer和阿里云SDK等开发者工具调用阿里云Elasticsearch API。
背景信息
调用API时,您可以根据API文档了解使用说明,并查询必选的请求参数。发送请求后报错时,您可以在相应API文档中获取错误码说明。
调用方式
调用方式 | 适用场景 | 使用限制 |
如果您经常使用命令行工具,可选用此方式。 | 使用前请确保已在对应机器上安装了阿里云CLI,在不同操作系统中安装CLI的方式请参见: | |
如果您经常使用交互式操作界面,或者您是初次使用阿里云产品的开发者用户,可选用此方式。 | 通过OpenAPI Explorer,您还可以调试和获取SDK请求示例,详情请参见OpenAPI 门户。 | |
适用于SDK编码或DevOps等场景。 |
阿里云CLI示例
获取实例ID。
您可以通过以下两种方式获取实例ID:
在Kibana控制台中,通过
GET /命令获取,具体操作步骤请参见登录Kibana控制台。在本地计算机中,通过ListInstance获取。
aliyun elasticsearch ListInstance --zoneId cn-hangzhou
使用ListSearchLog获取实例的系统日志。
aliyun elasticsearch ListSearchLog --type INSTANCELOG --query level:warn --beginTime 1593332477000 --endTime 1593418877000 --page 1 --size 20 --InstanceId es-cn-n6w1o1x0w00******
OpenAPI Explorer示例
通过ListInstance获取实例ID。
通过ListSearchLog查询实例的系统日志。
查询成功后,OpenAPI中会显示对应的日志信息。
Java SDK示例
创建Maven工程。
配置pom依赖。
<dependency> <groupId>com.aliyun</groupId> <artifactId>elasticsearch20170613</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.4.6</version> </dependency>重要SDK包更新频繁,建议您通过阿里云开发工具包(SDK)获取最新版本依赖。
创建Java程序,调用ListSearchLog查询实例的系统日志。
import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonResponse; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.http.FormatType; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; public class ListSearchLog { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile("<RegionId>", "<accessKeyId>", "<accessSecret>"); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); //request.setProtocol(ProtocolType.HTTPS); request.setMethod(MethodType.GET); request.setDomain("elasticsearch.<RegionId>.aliyuncs.com"); request.setVersion("2017-06-13"); request.setUriPattern("/openapi/instances/<instanceid>/search-log"); request.putQueryParameter("type", "INSTANCELOG"); request.putQueryParameter("query", "level:warn"); request.putQueryParameter("beginTime", "1593332477000"); request.putQueryParameter("endTime", "1593418877000"); request.putQueryParameter("page", "1"); request.putQueryParameter("size", "20"); request.putHeadParameter("Content-Type", "application/json"); String requestBody = "{}"; request.setHttpContent(requestBody.getBytes(), "utf-8", FormatType.JSON); try { CommonResponse response = client.getCommonResponse(request); System.out.println(response.getData()); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } }参数
说明
<RegionId>
阿里云Elasticsearch实例所在地域,取值请参见参数说明。
<accessKeyId>
您阿里云账号的AccessKeyId,获取方式请参见获取AccessKey。
<accessSecret>
您阿里云账号的AccessKeySecret,获取方式请参见获取AccessKey。
<instanceId>
您阿里云Elasticsearch实例的ID,获取方式请参见查看实例的基本信息和ListInstance。
说明查询参数说明(QueryParameter)请参见ListSearchLog。