次の方法で共有


クエリ/管理の HTTP 要求

適用対象: ✅Microsoft FabricAzure データ エクスプローラー

要求動詞とリソース

アクション HTTP 動詞 HTTP リソース
クエリ GET /v1/rest/query
クエリ 投稿 /v1/rest/query
Query v2 GET /v2/rest/query
Query v2 投稿 /v2/rest/query
管理 投稿 /v1/rest/mgmt

たとえば、管理コマンド ("management") をサービス エンドポイントに送信するには、次の要求行を使用します。

POST https://help.kusto.windows.net/v1/rest/mgmt HTTP/1.1

含める内容については、 Request ヘッダー および Body を参照してください。

要求ヘッダー

次の表は、クエリーおよび管理操作に使用される一般的なヘッダーをまとめたものです。

標準ヘッダー 説明 必須/省略可能
Accept クライアントが受け取るメディアの種類。 application/json に設定します。 必須
Accept-Encoding サポートされているコンテンツ エンコード。 サポートされているエンコードは、gzipdeflate です。 省略可能
Authorization 認証資格情報。 詳細については、 認証を参照してください。 必須
Connection 操作後も接続を開いたままにするかどうかを指定します。 ConnectionKeep-Alive に設定することをお勧めします。 省略可能
Content-Length 要求本文のサイズ。 既知の場合は、要求本文の長さを指定します。 省略可能
Content-Type 要求本文のメディアの種類。 charset=utf-8application/jsonに設定します。 必須
Expect サーバーからの予期される応答。 100-Continueに設定できます。 省略可能
Host 要求が送信された修飾ドメイン名。 たとえば、help.kusto.windows.net のようにします。 必須

次の表は、クエリーおよび管理操作に使用される一般的なカスタムヘッダーです。 特に明記されていない限り、これらのヘッダーはテレメトリの目的でのみ使用され、機能には影響しません。

すべてのヘッダーは省略可能です。 ただし、 x-ms-client-request-id カスタム ヘッダーを指定することをお勧めします。 実行中のクエリの取り消しなど、一部のシナリオでは、要求の識別に使用されるため、 x-ms-client-request-id が必要です。

カスタム ヘッダー 説明
x-ms-app 要求を行うアプリケーションのフレンドリ名。
x-ms-user 要求を行うユーザーのフレンドリ名。
x-ms-user-id x-ms-userと同じフレンドリ名。
x-ms-client-request-id 要求の一意の識別子。
x-ms-client-version 要求を行うクライアントのフレンドリ バージョン識別子。
x-ms-readonly 指定した場合、要求は強制的に読み取り専用モードで実行され、要求がデータを変更できなくなります。

要求パラメーター

要求には、以下のパラメータを渡すことができます。 GET と POST の使用に応じて、クエリ パラメーターとして、または本文の一部として要求でエンコードされます。

パラメーター 説明 必須/省略可能
csl 実行するクエリまたは管理コマンドのテキスト。 必須
db クエリまたは管理コマンドのターゲットとなるデータベースの名前。 一部の管理コマンドでは省略可能です。
すべてのクエリとその他のすべてのコマンドに必要です。
properties 要求の処理方法とその結果を変更する要求プロパティ。 詳しくは、「要求プロパティ」をご覧ください。 省略可能

GET クエリパラメータ

GET 要求を使用する場合、クエリ パラメーターは要求パラメーターを指定します。

本文​​

POST 要求が使用されると、要求の本文には、要求パラメーターの値を含む UTF-8 でエンコードされた JSON ドキュメントが 1 つ含まれます。

次の例は、クエリの HTTP POST 要求を示しています。

POST https://help.kusto.windows.net/v2/rest/query HTTP/1.1

要求ヘッダー

Accept: application/json
Authorization: Bearer ...AzureActiveDirectoryAccessToken...
Accept-Encoding: deflate
Content-Type: application/json; charset=utf-8
Host: help.kusto.windows.net
x-ms-client-request-id: MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1
x-ms-user-id: EARTH\davidbg
x-ms-app: MyApp

要求本文

{
  "db":"Samples",
  "csl":"print Test=\"Hello, World!\"",
  "properties":"{\"Options\":{\"queryconsistency\":\"strongconsistency\"},\"Parameters\":{},\"ClientRequestId\":\"MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1\"}"
}

次の例では、 curl を使用して、前のクエリを送信する要求を作成する方法を示します。

  1. 認証用のトークンを取得します。

    Microsoft Entra アプリケーション認証設定した後、AAD_TENANT_NAME_OR_IDAAD_APPLICATION_ID、およびAAD_APPLICATION_KEYを関連する値に置き換えます

    curl "https://login.microsoftonline.com/AAD_TENANT_NAME_OR_ID/oauth2/token" \
      -F "grant_type=client_credentials" \
      -F "resource=https://help.kusto.windows.net" \
      -F "client_id=AAD_APPLICATION_ID" \
      -F "client_secret=AAD_APPLICATION_KEY"
    

    このコード スニペットでは、ベアラー トークンを提供します。

    {
      "token_type": "Bearer",
      "expires_in": "3599",
      "ext_expires_in":"3599", 
      "expires_on":"1578439805",
      "not_before":"1578435905",
      "resource":"https://help.kusto.windows.net",
      "access_token":"eyJ0...uXOQ"
    }
    
  2. クエリ エンドポイントへの要求でベアラー トークンを使用します。

    curl -d '{"db":"Samples","csl":"print Test=\"Hello, World!\"","properties":"{\"Options\":{\"queryconsistency\":\"strongconsistency\"}}"}"' \
    -H "Accept: application/json" \
    -H "Authorization: Bearer eyJ0...uXOQ" \
    -H "Content-Type: application/json; charset=utf-8" \
    -H "Host: help.kusto.windows.net" \
    -H "x-ms-client-request-id: MyApp.Query;e9f884e4-90f0-404a-8e8b-01d883023bf1" \
    -H "x-ms-user-id: EARTH\davidbg" \
    -H "x-ms-app: MyApp" \
    -X POST https://help.kusto.windows.net/v2/rest/query
    
  3. 応答の状態コード に従って応答を読み取

クライアント要求のプロパティとクエリ パラメーターを設定する

次の要求本文の例では、 csl フィールドのクエリで、 nd という名前の 2 つのパラメーターが宣言されています。 これらのクエリ パラメーターの値は、要求本文の properties フィールドの下の Parameters フィールド内で指定されます。 Options フィールドは、client 要求プロパティを定義します

Note

文字列以外のパラメーターと長でないパラメーターは、文字列形式で KQL リテラルとして表す必要があります。

{
    "db": "Samples",
    "csl": "declare query_parameters (n:long, d:dynamic); StormEvents | where State in (d) | top n by StartTime asc",
    "properties": {
        "Options": {
            "maxmemoryconsumptionperiterator": 68719476736,
            "max_memory_consumption_per_query_per_node": 68719476736,
            "servertimeout": "50m"
        },
        "Parameters": {
            "n": 10, "d": "dynamic([\"ATLANTIC SOUTH\"])"
        }
    }
}

詳細については、「 サポートされる要求プロパティ」を参照してください。

Send show database caching policy コマンド

次の例では、 Samples データベース キャッシュ ポリシーを表示する要求を送信します。


{
    "db": "Samples",
    "csl": ".show database Samples policy caching",
    "properties": {
        "Options": {
            "maxmemoryconsumptionperiterator": 68719476736,
            "max_memory_consumption_per_query_per_node": 68719476736,
            "servertimeout": "50m"
        }
    }
}