本章节以ListSearchLog为例,为您演示如何通过阿里云CLI、OpenAPI Explorer和阿里云SDK等开发者工具调用阿里云Elasticsearch API。

背景信息

调用API时,您可以根据API文档了解使用说明,并查询必选的请求参数。发送请求后报错时,您可以在相应API文档中获取错误码说明。

调用方式

调用方式 适用场景 使用限制
阿里云CLI示例 如果您经常使用命令行工具,可选用此方式。 使用前请确保已在对应机器上安装了阿里云CLI,在不同操作系统中安装CLI的方式请参见:
OpenAPI Explorer示例 如果您经常使用交互式操作界面,或者您是初次使用阿里云产品的开发者用户,可选用此方式。 通过OpenAPI Explorer,您还可以调试和获取SDK请求示例,详情请参见阿里云 OpenAPI 开发者门户是什么
Java SDK示例 适用于SDK编码或DevOps等场景。 使用Java SDK要求您提前安装JDK(版本为1.6及以上)和Maven

阿里云CLI示例

  1. 获取实例ID。
    您可以通过以下两种方式获取实例ID:
    • 在Kibana控制台中,通过GET /命令获取,具体操作步骤请参见登录Kibana控制台
    • 在本地计算机中,通过ListInstance获取。
      aliyun elasticsearch ListInstance --zoneId cn-hangzhou
  2. 使用ListSearchLog获取实例的系统日志。
    aliyun elasticsearch ListSearchLog --type INSTANCELOG --query level:warn --beginTime 1593332477000 --endTime 1593418877000 --page 1 --size 20 --InstanceId es-cn-n6w1o1x0w00******   

OpenAPI Explorer示例

  1. 通过ListInstance获取实例ID。
  2. 通过ListSearchLog查询实例的系统日志。
    查询成功后,OpenAPI中会显示对应的日志信息。

Java SDK示例

  1. 创建Maven工程。
    说明 详细操作方法请参见安装Java SDK
  2. 配置pom依赖。
     <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-elasticsearch</artifactId>
            <version>3.0.16</version>
      </dependency>
      <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.4.6</version>
       </dependency>
    注意 SDK包更新频繁,建议您通过阿里云开发工具包(SDK)获取最新版本依赖。
  3. 创建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