DQL データクエリ¶
POST /api/v1/df/query_data_v1
概要¶
DQL データクエリ
Body リクエストパラメータ¶
| パラメータ名 | タイプ | 必須 | 説明 |
|---|---|---|---|
| queries | array | 複数コマンドクエリ。内容はクエリオブジェクトのリスト 空を許可: False |
|
| fieldTagDescNeeded | boolean | field または tag の説明情報が必要かどうか 空を許可: False |
パラメータ補足説明¶
クエリ説明
レスポンス content.data[i].warnings[] に DQLDataAccessScopeRestricted が含まれる場合があります:
details[0].metadata.namespaceは現バージョンでは固定でloggingです;details[0].metadata.restriction=partialは、権限のあるログインデックスのデータのみを返すことを示します;details[0].metadata.restriction=allは、関連するログインデックスにデータアクセス権限がなく、空の結果を返すことを示します;- HTTP ステータスコードは 200 のまま、warning は GuanceDB/Kodo の既存の warning と共存します。
1、 パラメータ説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| queries | array | Y | 複数コマンドクエリ。内容はクエリオブジェクトのリスト |
| fieldTagDescNeeded | boolean | field または tag の説明情報が必要かどうか |
2、 queries[*] メンバーパラメータ構造説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| qtype | string | Y | クエリ文のタイプ dql: dql タイプのクエリ文を示します; promql: PromQL タイプのクエリ文を示します |
| query | json | Y | クエリ構造 |
| query.q | string | qtype タイプと一致するクエリ文。例:dql または promql クエリ文 | |
| query.ignore_cache | boolean | クエリでキャッシュを無効にするかどうか。デフォルトは false で、キャッシュを使用することを示します | |
| query.promqlType | enum | qtype=promql の場合に有効。promql のクエリタイプ。指定可能な値は instantQuery と rangeQuery、デフォルト値は rangeQuery |
|
| query.highlight | boolean | ハイライトデータを表示するかどうか | |
| query.timeRange | array | 時間範囲のタイムスタンプリスト | |
| query.disableMultipleField | bool | 単一カラムモードを有効にするかどうか。デフォルトは true |
|
| query.showLabel | bool | オブジェクトのラベルを表示するかどうか。デフォルトはなし | |
| query.funcList | array | dql の戻り値を再度集計・修飾します。注意:disableMultipleField=false の場合、このパラメータは無効です | |
| query.slimit | integer | 時系列グループのサイズ。メトリクスクエリのみ有効 | |
| query.soffset | integer | 時系列グループのオフセット | |
| query.limit | integer | ページングサイズ | |
| query.offset | integer | ページングオフセット | |
| query.orderby | array | ソートリスト。{fieldName:method}。注意:メジャーメントクエリのソートは fieldName=time のみサポート;method は ["desc", "asc"]。注意:メジャーメントクエリのソートは fieldName=time のみサポート |
|
| query.sorderby | array | ソートリスト。sorderby の column は式で、単一の値を返すすべての集計関数 min、max、last、avg、p90、p95、count をサポートします。{fieldName:method} 構造は orderby と同様です |
|
| query.order_by | array | ソートリスト。構造は [{"column": "field", "order": "DESC"}] で、doris エンジン互換フィールド | |
| query.sorder_by | array | ソートリスト。構造は [{"column": "field", "order": "DESC"}] で、doris エンジン互換フィールド | |
| query.density | string | レスポンスのポイント密度。優先順位は autoDensity より低く、dql 文で設定された密度より高い | |
| query.interval | number | 時間分割間隔。Kodo int64 範囲内に変換可能で、1ms 以上の整数ミリ秒の正数のみを受け付けます。デフォルト単位は秒で、interval_unit でミリ秒を指定可能 | |
| query.interval_unit | string | interval の単位。s、ms を指定可能。デフォルトは s |
|
| query.search_after | array | ページングクエリマーカー。前回のリクエストのレスポンス結果の search_after 値を、今回のリクエストのパラメータとして使用します | |
| query.maxPointCount | integer | 最大ポイント数 | |
| query.workspaceUUID | string | クエリ対象のワークスペースの uuid。"*" はすべての権限付与済みワークスペースをクエリすることを示します。ワークスペース一覧はインターフェース /wksp_share/granted_ws_list を参照 | |
| query.workspaceUUIDs | array | クエリ対象のワークスペースの uuids。優先順位は query.workspaceUUID より高い。["*"] はすべての権限付与済みワークスペースをクエリすることを示します。ワークスペース一覧はインターフェース /wksp_share/granted_ws_list を参照 | |
| query.targetRegion | string | クエリ対象ワークスペースを ["*"] に指定した場合、このフィールドは必須 | |
| query.output_format | string | lineprotocol:行プロトコル出力。デフォルトでは未入力の場合、既存の出力形式を維持 | |
| query.cursor_time | integer | 分割クエリの閾値:最初の分割クエリでは、cursor_time を end_time に設定する必要があります。以降の分割クエリでは、cursor_time をレスポンス内の next_cursor_time に設定する必要があります | |
| query.cursor_token | string | ページングクエリトークン(エンジンが cursor_token の値を返します):ページングクエリ時は、前回のクエリで返された next_cursor_token を今回のクエリの cursor_token に設定する必要があります。cursor_token がないリクエストは、ページ送り時に同じタイムスタンプのデータがスキップされる可能性があります | |
| query.disable_sampling | bool | サンプリング無効化スイッチ。デフォルト値は false | |
| query.disable_truncate | bool | クエリが返却内容を切り詰めるかどうかを示します。デフォルトはなし |
3、 レスポンスポイント密度 density パラメータ値説明
| 指定可能な値 | 説明 |
|---|---|
| lower | 低め、60 ポイント |
| low | 低い、180 ポイント |
| medium | 中程度、360 ポイント |
| high | 高い、720 ポイント |
- 注意:ポイント密度パラメータの優先順位は、最大密度
density[high]* maxPointCount > interval > density > dql 文内の制御パラメータ
4、 よくあるクエリ説明
-
注:openapi インターフェースでデータクエリを実行する場合、デフォルトでは 管理者 ロールになります。データアクセスルールの制限を受ける可能性があることに注意してください。
リクエスト例¶
curl 'https://openapi.guance.com/api/v1/df/query_data_v1' \
-H 'Content-Type: application/json' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw $'{"queries":[{"qtype":"dql","query":{"q":"M::`cpu`:(avg(`usage_idle`))","_funcList":[],"funcList":[],"maxPointCount":720,"interval":10,"align_time":true,"sorder_by":[{"column":"`#1`","order":"DESC"}],"slimit":20,"disable_sampling":false,"timeRange":[1708911106000,1708912906999],"tz":"Asia/Shanghai"}}]}' \
--compressed
レスポンス¶
{
"code": 200,
"content": {
"data": [
{
"async_id": "",
"column_names": [
"avg(usage_idle)"
],
"complete": false,
"cost": "14.815745ms",
"index_name": "",
"index_names": "",
"index_store_type": "",
"interval": 10000,
"is_running": false,
"max_point": 181,
"next_cursor_time": -1,
"points": null,
"query_parse": {
"fields": {
"avg(usage_idle)": "usage_idle"
},
"funcs": {
"avg(usage_idle)": [
"avg"
]
},
"namespace": "metric",
"sources": {
"cpu": "exact"
}
},
"query_type": "example_db",
"sample": 1,
"scan_completed": false,
"scan_index": "",
"series": [
{
"columns": [
"time",
"avg(usage_idle)"
],
"name": "cpu",
"units": [
null,
null
],
"values": [
[
1708912900000,
75.68748278863335
],
[
1708912890000,
80.20737341208
],
[
1708912880000,
73.23943236630001
],
[
1708912870000,
71.08465385756001
],
[
1708912860000,
75.12657005472002
],
[
1708912850000,
84.19848645072001
],
[
1708912840000,
81.59161169702
],
[
1708912830000,
77.14274451154
]
]
}
],
"window": 10000
}
],
"declaration": {
"b": [
"asfawfgajfasfafgafwba",
"asfgahjfaf"
],
"business": "aaa",
"organization": "6540c09e4243b300077a9675"
}
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "10888927517520616916"
}