本章節以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