コンテンツにスキップ

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 のクエリタイプ。指定可能な値は instantQueryrangeQuery、デフォルト値は 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 の単位。sms を指定可能。デフォルトは 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"
}

フィードバック

このページは役に立ちましたか?