更新时间:2025-07-23 GMT+08:00
分享

查询SQL列表

功能介绍

该接口用于查询实时SQL列表。

调用方法

请参见如何调用API

URI

POST /v2/{project_id}/clusters/{cluster_id}/dms/queries

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

项目ID。获取方法请参见获取项目ID

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

cluster_id

String

参数解释

集群ID。获取方法请参见获取集群ID

约束限制

必须是有效的dws集群ID。

取值范围

36位UUID。

默认取值

不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

cluster_id

String

参数解释

集群ID。获取方法请参见获取集群ID

约束限制

必须是有效的dws集群ID。

取值范围

36位UUID。

默认取值

不涉及。

project_id

String

参数解释

项目ID。获取方法请参见获取项目ID

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

offset

String

参数解释

偏移量,表示从此偏移量开始查询,一般为页数减1。

取值范围

大于等于0。

limit

String

参数解释

每页显示的条目数量。

取值范围

大于0。

conditions

Array of ListQueriesCondition objects

参数解释

查询条件数组。

取值范围

不涉及。

order_by

String

参数解释

排序字段。

取值范围

不涉及。

target

String

参数解释

固定值db_queries。

取值范围

不涉及。

表3 ListQueriesCondition

参数

是否必选

参数类型

描述

field

String

参数解释

字段名称。

取值范围

systemQuery:是否隐藏系统查询。

userName:用户名称。

applicationName:应用名称。

dbName:数据库名称。

resourcePool:资源池。

queryStatus:查询状态。

enqueue:排队状态。

value

String

参数解释

字段值。

取值范围

不涉及。

operator

String

参数解释

比较方式。

取值范围

String类型参数:=、!=、like、not like

int类型参数:=、!=、>、<、>=、<=

boolean类型参数:=、!=

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

code

Integer

参数解释

响应码。

取值范围

不涉及。

msg

String

参数解释

响应信息。

取值范围

不涉及。

data

ListQueriesData object

参数解释

响应数据。

取值范围

不涉及。

count

Integer

参数解释

总条数。

取值范围

不涉及。

表5 ListQueriesData

参数

参数类型

描述

queries

Array of ListQueriesDto objects

参数解释

查询数据列表。

取值范围

不涉及。

status

ListQueriesStatus object

参数解释

统计数据。

取值范围

不涉及。

表6 ListQueriesDto

参数

参数类型

描述

virtual_cluster_id

Integer

参数解释

虚拟集群ID。

取值范围

不涉及。

ctime

Long

参数解释

采集时间。

取值范围

不涉及。

pid

String

参数解释

会话ID。

取值范围

不涉及。

inst_name

String

参数解释

实例名称。

取值范围

不涉及。

waiting

Boolean

参数解释

如果后台当前正等待锁则为true。

取值范围

不涉及。

enqueue

String

参数解释

资源状态。

取值范围

不涉及。

warning

String

参数解释

主要显示如下几类告警信息以及sql自诊断调优相关告警。

取值范围

不涉及。

query

String

参数解释

查询语句。

取值范围

不涉及。

lane

String

参数解释

快慢车道。

取值范围

fast:快车道。

slow:慢车道。

db_name

String

参数解释

数据库名称。

取值范围

不涉及。

priority

String

参数解释

任务在资源池中的优先级。

取值范围

1:最高。

2:高。

4:中。

8:低。

query_id

String

参数解释

语句执行使用的内部查询ID。

取值范围

不涉及。

query_band

String

参数解释

用于标示作业类型,可通过guc参数query_band进行设置,默认为空字符串。

取值范围

不涉及。

job_name

String

参数解释

该值是从query_band的字段中取出来的,位置0。

取值范围

不涉及。

job_inst

String

参数解释

该值是从query_band的字段中取出来的,位置1。

取值范围

不涉及。

user_name

String

参数解释

连接到后端的用户名。

取值范围

不涉及。

application_name

String

参数解释

连接到后端的应用名。

取值范围

不涉及。

client_address

String

参数解释

连接到后端的客户端的IP地址。

取值范围

不涉及。

client_hostname

String

参数解释

客户端的主机名。

取值范围

不涉及。

client_port

String

参数解释

客户端用于与后端通讯的tcp端口号。

取值范围

不涉及。

start_time

Long

参数解释

语句执行的开始时间。

取值范围

不涉及。

block_time

Long

参数解释

语句执行前的阻塞时间,单位ms。

取值范围

不涉及。

duration

Long

参数解释

语句已经执行的时间,单位ms。

取值范围

不涉及。

estimate_total_time

Long

参数解释

语句执行预估总时间,单位ms。

取值范围

不涉及。

estimate_left_time

Long

参数解释

语句执行预估剩余时间,单位ms。

取值范围

不涉及。

resource_pool

String

参数解释

用户使用的资源池。

取值范围

不涉及。

control_group

String

参数解释

语句所使用的cgroup。

取值范围

不涉及。

min_peak_memory

Integer

参数解释

语句在所有dn上的最小内存峰值,单位mb。

取值范围

不涉及。

max_peak_memory

Integer

参数解释

语句在所有dn上的最大内存峰值,单位mb。

取值范围

不涉及。

average_peak_memory

Integer

参数解释

语句执行过程中的内存使用平均值,单位mb。

取值范围

不涉及。

memory_skew_percent

Integer

参数解释

语句在各dn间的内存使用倾斜率。

取值范围

不涉及。

estimate_memory

Integer

参数解释

语句预估使用内存,单位mb。

取值范围

不涉及。

spill_info

String

参数解释

语句在所有dn上的下盘信息。

取值范围

不涉及。

min_spill_size

Integer

参数解释

若发生下盘,所有dn上下盘的最小数据量 (单位mb) 默认为0。

取值范围

不涉及。

max_spill_size

Integer

参数解释

若发生下盘,所有dn上下盘的最大数据量 (单位mb) 默认为0。

取值范围

不涉及。

average_spill_size

Integer

参数解释

若发生下盘,所有dn上下盘的平均数据量 (单位mb) 默认为0。

取值范围

不涉及。

spill_skew_percent

Integer

参数解释

若发生下盘,dn间下盘倾斜率。

取值范围

不涉及。

min_dn_time

Long

参数解释

语句在所有dn上的最小执行时间,单位ms。

取值范围

不涉及。

max_dn_time

Long

参数解释

语句在所有dn上的最大执行时间,单位ms。

取值范围

不涉及。

average_dn_time

Long

参数解释

语句在所有dn上的平均执行时间,单位ms。

取值范围

不涉及。

dntime_skew_percent

Integer

参数解释

语句在各dn间的执行时间倾斜率。

取值范围

不涉及。

min_cpu_time

Long

参数解释

语句在所有dn上的最小cpu时间,单位ms。

取值范围

不涉及。

max_cpu_time

Long

参数解释

语句在所有dn上的最大cpu时间,单位ms。

取值范围

不涉及。

total_cpu_time

Long

参数解释

语句在所有dn上的cpu总时间,单位ms。

取值范围

不涉及。

cpu_skew_percent

Integer

参数解释

语句在各dn间的cpu时间倾斜率。

取值范围

不涉及。

average_peak_iops

Integer

参数解释

语句在所有dn上的每秒平均io峰值(列存单位是次/s,行存单位是万次/s)。

取值范围

不涉及。

iops_skew_percent

Integer

参数解释

语句在dn间的io倾斜率。

取值范围

不涉及。

max_peak_iops

Integer

参数解释

语句在所有dn上的每秒最大io峰值(列存单位是次/s,行存单位是万次/s)。

取值范围

不涉及。

min_peak_iops

Integer

参数解释

语句在所有dn上的每秒最小io峰值(列存单位是次/s,行存单位是万次/s)。

取值范围

不涉及。

query_plan

String

参数解释

查询计划。

取值范围

不涉及。

query_status

String

参数解释

当前查询语句的实时运行状态。

取值范围

active、idle、idle in transaction、idle in transaction(aborted)、fastpath function call、disabled。

wlm_status

String

参数解释

当前查询语句在资源池上的运行状态。

取值范围

pending:待生效。

running:运行中。

finished:结束。

aborted:终止。

active:正常。

unknown:未知。

wlm_attrib

String

参数解释

语句的属性。

取值范围

ordinary:普通。

simple:简单。

complicated:复杂。

internal:内部。

system_query

Boolean

参数解释

是否系统查询。

取值范围

不涉及。

backend_start

Long

参数解释

该过程开始的时间,即当客户端连接服务器时。

取值范围

不涉及。

elapsed_time

Long

参数解释

到目前为止的执行时间。

取值范围

不涉及。

curr_xact_start

Long

参数解释

启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。

取值范围

不涉及。

state_change

Long

参数解释

上次状态改变的时间。

取值范围

不涉及。

query_start

Long

参数解释

语句执行的开始时间。

取值范围

不涉及。

query_elapsed_time

Long

参数解释

语句当前为止的实际执行时间。单位:秒。

取值范围

不涉及。

表7 ListQueriesStatus

参数

参数类型

描述

average_query_waiting_time

Double

参数解释

平均查询等待时间。

取值范围

不涉及。

average_time_consumption_of_queries

Double

参数解释

平均查询耗时。

取值范围

不涉及。

average_time_consumption_of_sessions

Double

参数解释

平均会话耗时。

取值范围

不涉及。

queries_count

Long

参数解释

查询数量。

取值范围

不涉及。

session_count

Long

参数解释

会话数量。

取值范围

不涉及。

请求示例

https://{Endpoint}/v2/{project_id}/clusters/{cluster_id}/dms/queries 

{
  "offset" : 0,
  "limit" : 1,
  "cluster_id" : "cluster_id",
  "project_id" : "project_id",
  "conditions" : [ {
    "field" : "userName",
    "value" : "用户名称",
    "operator" : "="
  }, {
    "field" : "applicationName",
    "value" : "应用名称",
    "operator" : "<>"
  }, {
    "field" : "dbName",
    "value" : "数据库名称",
    "operator" : "="
  }, {
    "field" : "resourcePool",
    "value" : "资源池",
    "operator" : "<>"
  }, {
    "field" : "queryStatus",
    "value" : "查询状态",
    "operator" : "="
  }, {
    "field" : "enqueue",
    "value" : "排队状态",
    "operator" : "<>"
  }, {
    "field" : "lane",
    "value" : "快慢车道",
    "operator" : "="
  }, {
    "field" : "instName",
    "value" : "接入CN",
    "operator" : "<>"
  }, {
    "field" : "pid",
    "value" : "会话ID",
    "operator" : "="
  }, {
    "field" : "blockTime",
    "value" : "1",
    "operator" : "="
  }, {
    "field" : "duration",
    "value" : "2",
    "operator" : "<>"
  }, {
    "field" : "minCpuTime",
    "value" : "3",
    "operator" : ">"
  }, {
    "field" : "maxCpuTime",
    "value" : "4",
    "operator" : "<"
  }, {
    "field" : "totalCpuTime",
    "value" : "5",
    "operator" : ">="
  }, {
    "field" : "cpuSkewPercent",
    "value" : "6",
    "operator" : "<="
  }, {
    "field" : "spillInfo",
    "value" : "dn下盘信息",
    "operator" : "="
  }, {
    "field" : "minSpillSize",
    "value" : "7",
    "operator" : "<>"
  }, {
    "field" : "maxSpillSize",
    "value" : "8",
    "operator" : ">"
  }, {
    "field" : "averageSpillSize",
    "value" : "9",
    "operator" : "<"
  }, {
    "field" : "spillSkewPercent",
    "value" : "10",
    "operator" : ">="
  }, {
    "field" : "queryBand",
    "value" : "作业类型",
    "operator" : "<>"
  }, {
    "field" : "jobName",
    "value" : "任务名称",
    "operator" : "="
  }, {
    "field" : "jobInst",
    "value" : "任务实例",
    "operator" : "<>"
  }, {
    "field" : "clientHostname",
    "value" : "主机名称",
    "operator" : "="
  }, {
    "field" : "clientPort",
    "value" : "TCP端口",
    "operator" : "<>"
  }, {
    "field" : "waiting",
    "value" : "是否等待",
    "operator" : "="
  }, {
    "field" : "estimateTotalTime",
    "value" : "11",
    "operator" : "="
  }, {
    "field" : "estimateLeftTime",
    "value" : "12",
    "operator" : "<>"
  }, {
    "field" : "controlGroup",
    "value" : "cgroup",
    "operator" : "like"
  }, {
    "field" : "minPeakMemory",
    "value" : "13",
    "operator" : "="
  }, {
    "field" : "maxPeakMemory",
    "value" : "14",
    "operator" : "<>"
  }, {
    "field" : "averagePeakMemory",
    "value" : "15",
    "operator" : ">"
  }, {
    "field" : "memorySkewPercent",
    "value" : "16",
    "operator" : "<"
  }, {
    "field" : "estimateMemory",
    "value" : "17",
    "operator" : ">="
  }, {
    "field" : "minDnTime",
    "value" : "18",
    "operator" : "<="
  }, {
    "field" : "maxDnTime",
    "value" : "19",
    "operator" : "="
  }, {
    "field" : "averageDnTime",
    "value" : "20",
    "operator" : "<>"
  }, {
    "field" : "dntimeSkewPercent",
    "value" : "21",
    "operator" : ">"
  }, {
    "field" : "warning",
    "value" : "告警",
    "operator" : "="
  }, {
    "field" : "averagePeakIops",
    "value" : "22",
    "operator" : "<>"
  }, {
    "field" : "iopsSkewPercent",
    "value" : "23",
    "operator" : ">"
  }, {
    "field" : "wlmStatus",
    "value" : "语句运行状态",
    "operator" : "="
  }, {
    "field" : "wlmAttrib",
    "value" : "语句属性",
    "operator" : "not like"
  } ],
  "order_by" : "duration asc",
  "target" : "db_queries"
}

响应示例

状态码:200

查询成功。

{
  "code" : 0,
  "msg" : "OK",
  "count" : 0,
  "data" : {
    "queries" : [ {
      "ctime" : 1699062726000,
      "pid" : "140535026615872",
      "waiting" : false,
      "duration" : 0,
      "enqueue" : "",
      "warning" : "",
      "query" : "WLM fetch collect info from data nodes",
      "lane" : "",
      "priority" : null,
      "virtual_cluster_id" : 0,
      "inst_name" : "cn_5002",
      "db_name" : "postgres",
      "query_id" : "145522562959854219",
      "query_band" : "",
      "job_name" : "",
      "job_inst" : "",
      "user_name" : "Ruby",
      "application_name" : "workload",
      "client_address" : "",
      "client_hostname" : "",
      "client_port" : "",
      "start_time" : 0,
      "block_time" : 0,
      "estimate_total_time" : 0,
      "estimate_left_time" : 0,
      "resource_pool" : "default_pool",
      "control_group" : "",
      "min_peak_memory" : 0,
      "max_peak_memory" : 0,
      "average_peak_memory" : 0,
      "memory_skew_percent" : 0,
      "estimate_memory" : 0,
      "spill_info" : "",
      "min_spill_size" : 0,
      "max_spill_size" : 0,
      "average_spill_size" : 0,
      "spill_skew_percent" : 0,
      "min_dn_time" : 0,
      "max_dn_time" : 0,
      "average_dn_time" : 0,
      "dntime_skew_percent" : 0,
      "min_cpu_time" : 0,
      "max_cpu_time" : 0,
      "total_cpu_time" : 0,
      "cpu_skew_percent" : 0,
      "average_peak_iops" : 0,
      "iops_skew_percent" : 0,
      "max_peak_iops" : 0,
      "min_peak_iops" : 0,
      "query_plan" : null,
      "query_status" : "active",
      "wlm_status" : "",
      "wlm_attrib" : "",
      "system_query" : true,
      "backend_start" : 1698998138,
      "elapsed_time" : 64585,
      "curr_xact_start" : 1699062726,
      "state_change" : 1698998142,
      "query_start" : 1698998142,
      "query_elapsed_time" : -1
    } ],
    "status" : {
      "session_count" : 19,
      "average_time_consumption_of_sessions" : 51297.58,
      "queries_count" : 19,
      "average_time_consumption_of_queries" : 48799.8,
      "average_query_waiting_time" : 0
    }
  }
}

SDK代码示例

SDK代码示例如下。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.dws.v2.region.DwsRegion;
import com.huaweicloud.sdk.dws.v2.*;
import com.huaweicloud.sdk.dws.v2.model.*;

import java.util.List;
import java.util.ArrayList;

public class ListQueriesSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        DwsClient client = DwsClient.newBuilder()
                .withCredential(auth)
                .withRegion(DwsRegion.valueOf("<YOUR REGION>"))
                .build();
        ListQueriesRequest request = new ListQueriesRequest();
        request.withClusterId("{cluster_id}");
        ListQueriesRequestBody body = new ListQueriesRequestBody();
        List<ListQueriesCondition> listbodyConditions = new ArrayList<>();
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("userName")
                .withValue("用户名称")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("applicationName")
                .withValue("应用名称")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("dbName")
                .withValue("数据库名称")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("resourcePool")
                .withValue("资源池")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("queryStatus")
                .withValue("查询状态")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("enqueue")
                .withValue("排队状态")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("lane")
                .withValue("快慢车道")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("instName")
                .withValue("接入CN")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("pid")
                .withValue("会话ID")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("blockTime")
                .withValue("1")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("duration")
                .withValue("2")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("minCpuTime")
                .withValue("3")
                .withOperator(">")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("maxCpuTime")
                .withValue("4")
                .withOperator("<")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("totalCpuTime")
                .withValue("5")
                .withOperator(">=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("cpuSkewPercent")
                .withValue("6")
                .withOperator("<=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("spillInfo")
                .withValue("dn下盘信息")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("minSpillSize")
                .withValue("7")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("maxSpillSize")
                .withValue("8")
                .withOperator(">")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("averageSpillSize")
                .withValue("9")
                .withOperator("<")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("spillSkewPercent")
                .withValue("10")
                .withOperator(">=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("queryBand")
                .withValue("作业类型")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("jobName")
                .withValue("任务名称")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("jobInst")
                .withValue("任务实例")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("clientHostname")
                .withValue("主机名称")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("clientPort")
                .withValue("TCP端口")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("waiting")
                .withValue("是否等待")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("estimateTotalTime")
                .withValue("11")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("estimateLeftTime")
                .withValue("12")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("controlGroup")
                .withValue("cgroup")
                .withOperator("like")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("minPeakMemory")
                .withValue("13")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("maxPeakMemory")
                .withValue("14")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("averagePeakMemory")
                .withValue("15")
                .withOperator(">")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("memorySkewPercent")
                .withValue("16")
                .withOperator("<")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("estimateMemory")
                .withValue("17")
                .withOperator(">=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("minDnTime")
                .withValue("18")
                .withOperator("<=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("maxDnTime")
                .withValue("19")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("averageDnTime")
                .withValue("20")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("dntimeSkewPercent")
                .withValue("21")
                .withOperator(">")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("warning")
                .withValue("告警")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("averagePeakIops")
                .withValue("22")
                .withOperator("<>")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("iopsSkewPercent")
                .withValue("23")
                .withOperator(">")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("wlmStatus")
                .withValue("语句运行状态")
                .withOperator("=")
        );
        listbodyConditions.add(
            new ListQueriesCondition()
                .withField("wlmAttrib")
                .withValue("语句属性")
                .withOperator("not like")
        );
        body.withTarget("db_queries");
        body.withOrderBy("duration asc");
        body.withConditions(listbodyConditions);
        body.withLimit("1");
        body.withOffset("0");
        body.withProjectId("project_id");
        body.withClusterId("cluster_id");
        request.withBody(body);
        try {
            ListQueriesResponse response = client.listQueries(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdws.v2.region.dws_region import DwsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdws.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = DwsClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DwsRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListQueriesRequest()
        request.cluster_id = "{cluster_id}"
        listConditionsbody = [
            ListQueriesCondition(
                field="userName",
                value="用户名称",
                operator="="
            ),
            ListQueriesCondition(
                field="applicationName",
                value="应用名称",
                operator="<>"
            ),
            ListQueriesCondition(
                field="dbName",
                value="数据库名称",
                operator="="
            ),
            ListQueriesCondition(
                field="resourcePool",
                value="资源池",
                operator="<>"
            ),
            ListQueriesCondition(
                field="queryStatus",
                value="查询状态",
                operator="="
            ),
            ListQueriesCondition(
                field="enqueue",
                value="排队状态",
                operator="<>"
            ),
            ListQueriesCondition(
                field="lane",
                value="快慢车道",
                operator="="
            ),
            ListQueriesCondition(
                field="instName",
                value="接入CN",
                operator="<>"
            ),
            ListQueriesCondition(
                field="pid",
                value="会话ID",
                operator="="
            ),
            ListQueriesCondition(
                field="blockTime",
                value="1",
                operator="="
            ),
            ListQueriesCondition(
                field="duration",
                value="2",
                operator="<>"
            ),
            ListQueriesCondition(
                field="minCpuTime",
                value="3",
                operator=">"
            ),
            ListQueriesCondition(
                field="maxCpuTime",
                value="4",
                operator="<"
            ),
            ListQueriesCondition(
                field="totalCpuTime",
                value="5",
                operator=">="
            ),
            ListQueriesCondition(
                field="cpuSkewPercent",
                value="6",
                operator="<="
            ),
            ListQueriesCondition(
                field="spillInfo",
                value="dn下盘信息",
                operator="="
            ),
            ListQueriesCondition(
                field="minSpillSize",
                value="7",
                operator="<>"
            ),
            ListQueriesCondition(
                field="maxSpillSize",
                value="8",
                operator=">"
            ),
            ListQueriesCondition(
                field="averageSpillSize",
                value="9",
                operator="<"
            ),
            ListQueriesCondition(
                field="spillSkewPercent",
                value="10",
                operator=">="
            ),
            ListQueriesCondition(
                field="queryBand",
                value="作业类型",
                operator="<>"
            ),
            ListQueriesCondition(
                field="jobName",
                value="任务名称",
                operator="="
            ),
            ListQueriesCondition(
                field="jobInst",
                value="任务实例",
                operator="<>"
            ),
            ListQueriesCondition(
                field="clientHostname",
                value="主机名称",
                operator="="
            ),
            ListQueriesCondition(
                field="clientPort",
                value="TCP端口",
                operator="<>"
            ),
            ListQueriesCondition(
                field="waiting",
                value="是否等待",
                operator="="
            ),
            ListQueriesCondition(
                field="estimateTotalTime",
                value="11",
                operator="="
            ),
            ListQueriesCondition(
                field="estimateLeftTime",
                value="12",
                operator="<>"
            ),
            ListQueriesCondition(
                field="controlGroup",
                value="cgroup",
                operator="like"
            ),
            ListQueriesCondition(
                field="minPeakMemory",
                value="13",
                operator="="
            ),
            ListQueriesCondition(
                field="maxPeakMemory",
                value="14",
                operator="<>"
            ),
            ListQueriesCondition(
                field="averagePeakMemory",
                value="15",
                operator=">"
            ),
            ListQueriesCondition(
                field="memorySkewPercent",
                value="16",
                operator="<"
            ),
            ListQueriesCondition(
                field="estimateMemory",
                value="17",
                operator=">="
            ),
            ListQueriesCondition(
                field="minDnTime",
                value="18",
                operator="<="
            ),
            ListQueriesCondition(
                field="maxDnTime",
                value="19",
                operator="="
            ),
            ListQueriesCondition(
                field="averageDnTime",
                value="20",
                operator="<>"
            ),
            ListQueriesCondition(
                field="dntimeSkewPercent",
                value="21",
                operator=">"
            ),
            ListQueriesCondition(
                field="warning",
                value="告警",
                operator="="
            ),
            ListQueriesCondition(
                field="averagePeakIops",
                value="22",
                operator="<>"
            ),
            ListQueriesCondition(
                field="iopsSkewPercent",
                value="23",
                operator=">"
            ),
            ListQueriesCondition(
                field="wlmStatus",
                value="语句运行状态",
                operator="="
            ),
            ListQueriesCondition(
                field="wlmAttrib",
                value="语句属性",
                operator="not like"
            )
        ]
        request.body = ListQueriesRequestBody(
            target="db_queries",
            order_by="duration asc",
            conditions=listConditionsbody,
            limit="1",
            offset="0",
            project_id="project_id",
            cluster_id="cluster_id"
        )
        response = client.list_queries(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dws "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := dws.NewDwsClient(
        dws.DwsClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListQueriesRequest{}
	request.ClusterId = "{cluster_id}"
	var listConditionsbody = []model.ListQueriesCondition{
        {
            Field: "userName",
            Value: "用户名称",
            Operator: "=",
        },
        {
            Field: "applicationName",
            Value: "应用名称",
            Operator: "<>",
        },
        {
            Field: "dbName",
            Value: "数据库名称",
            Operator: "=",
        },
        {
            Field: "resourcePool",
            Value: "资源池",
            Operator: "<>",
        },
        {
            Field: "queryStatus",
            Value: "查询状态",
            Operator: "=",
        },
        {
            Field: "enqueue",
            Value: "排队状态",
            Operator: "<>",
        },
        {
            Field: "lane",
            Value: "快慢车道",
            Operator: "=",
        },
        {
            Field: "instName",
            Value: "接入CN",
            Operator: "<>",
        },
        {
            Field: "pid",
            Value: "会话ID",
            Operator: "=",
        },
        {
            Field: "blockTime",
            Value: "1",
            Operator: "=",
        },
        {
            Field: "duration",
            Value: "2",
            Operator: "<>",
        },
        {
            Field: "minCpuTime",
            Value: "3",
            Operator: ">",
        },
        {
            Field: "maxCpuTime",
            Value: "4",
            Operator: "<",
        },
        {
            Field: "totalCpuTime",
            Value: "5",
            Operator: ">=",
        },
        {
            Field: "cpuSkewPercent",
            Value: "6",
            Operator: "<=",
        },
        {
            Field: "spillInfo",
            Value: "dn下盘信息",
            Operator: "=",
        },
        {
            Field: "minSpillSize",
            Value: "7",
            Operator: "<>",
        },
        {
            Field: "maxSpillSize",
            Value: "8",
            Operator: ">",
        },
        {
            Field: "averageSpillSize",
            Value: "9",
            Operator: "<",
        },
        {
            Field: "spillSkewPercent",
            Value: "10",
            Operator: ">=",
        },
        {
            Field: "queryBand",
            Value: "作业类型",
            Operator: "<>",
        },
        {
            Field: "jobName",
            Value: "任务名称",
            Operator: "=",
        },
        {
            Field: "jobInst",
            Value: "任务实例",
            Operator: "<>",
        },
        {
            Field: "clientHostname",
            Value: "主机名称",
            Operator: "=",
        },
        {
            Field: "clientPort",
            Value: "TCP端口",
            Operator: "<>",
        },
        {
            Field: "waiting",
            Value: "是否等待",
            Operator: "=",
        },
        {
            Field: "estimateTotalTime",
            Value: "11",
            Operator: "=",
        },
        {
            Field: "estimateLeftTime",
            Value: "12",
            Operator: "<>",
        },
        {
            Field: "controlGroup",
            Value: "cgroup",
            Operator: "like",
        },
        {
            Field: "minPeakMemory",
            Value: "13",
            Operator: "=",
        },
        {
            Field: "maxPeakMemory",
            Value: "14",
            Operator: "<>",
        },
        {
            Field: "averagePeakMemory",
            Value: "15",
            Operator: ">",
        },
        {
            Field: "memorySkewPercent",
            Value: "16",
            Operator: "<",
        },
        {
            Field: "estimateMemory",
            Value: "17",
            Operator: ">=",
        },
        {
            Field: "minDnTime",
            Value: "18",
            Operator: "<=",
        },
        {
            Field: "maxDnTime",
            Value: "19",
            Operator: "=",
        },
        {
            Field: "averageDnTime",
            Value: "20",
            Operator: "<>",
        },
        {
            Field: "dntimeSkewPercent",
            Value: "21",
            Operator: ">",
        },
        {
            Field: "warning",
            Value: "告警",
            Operator: "=",
        },
        {
            Field: "averagePeakIops",
            Value: "22",
            Operator: "<>",
        },
        {
            Field: "iopsSkewPercent",
            Value: "23",
            Operator: ">",
        },
        {
            Field: "wlmStatus",
            Value: "语句运行状态",
            Operator: "=",
        },
        {
            Field: "wlmAttrib",
            Value: "语句属性",
            Operator: "not like",
        },
    }
	orderByListQueriesRequestBody:= "duration asc"
	request.Body = &model.ListQueriesRequestBody{
		Target: "db_queries",
		OrderBy: &orderByListQueriesRequestBody,
		Conditions: listConditionsbody,
		Limit: "1",
		Offset: "0",
		ProjectId: "project_id",
		ClusterId: "cluster_id",
	}
	response, err := client.ListQueries(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

查询成功。

400

请求错误。

401

鉴权失败。

403

没有操作权限。

404

找不到资源。

500

服务内部错误。

503

服务不可用。

相关文档