Aracılığıyla paylaş


Sorgu/yönetim HTTP isteği

İstek fiili ve kaynağı

Eylem HTTP fiili HTTP kaynağı
Sorgu GET /v1/rest/query
Sorgu POST /v1/rest/query
Sorgu v2 GET /v2/rest/query
Sorgu v2 POST /v2/rest/query
Yönetim POST /v1/rest/mgmt

Örneğin, bir hizmet uç noktasına bir yönetim komutu ("yönetim") göndermek için aşağıdaki istek satırını kullanın:

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

İstek üst bilgilerinin ve gövdenin dahil olması için aşağıya bakın.

İstek üst bilgileri

Aşağıdaki tabloda sorgu ve yönetim işlemleri için kullanılan ortak üst bilgiler yer alır.

Standart üst bilgi Description Gerekli/İsteğe Bağlı
Accept Şu şekilde ayarlayın: application/json Gerekli
Accept-Encoding Desteklenen kodlamalar şunlardır gzip : ve deflate İsteğe Bağlı
Authorization Bkz. kimlik doğrulaması Gerekli
Connection Etkinleştirmenizi öneririz Keep-Alive İsteğe Bağlı
Content-Length Biliniyorsa istek gövdesi uzunluğunu belirtmenizi öneririz İsteğe Bağlı
Content-Type ile olarak application/json ayarlayın charset=utf-8 Gerekli
Expect Şu şekilde ayarlanabilir: 100-Continue İsteğe Bağlı
Host İsteğin gönderildiği tam etki alanı adına ayarlayın (örneğin, help.kusto.windows.net) Gerekli

Aşağıdaki tabloda sorgu ve yönetim işlemleri için kullanılan ortak özel üst bilgiler yer alır. Aksi belirtilmedikçe, bu üst bilgiler yalnızca telemetri amacıyla kullanılır ve işlevselliği etkilemez.

Tüm üst bilgiler isteğe bağlıdır. Özel üst bilgiyi belirtmenizi x-ms-client-request-id öneririz. Çalışan sorguyu iptal etme gibi bazı senaryolarda, isteği tanımlamak için kullanıldığından bu üst bilgi gereklidir.

Özel üst bilgi Description
x-ms-app İstekte bulunan uygulamanın (kolay) adı
x-ms-user İsteği yapan kullanıcının (kolay) adı
x-ms-user-id Aynı x-ms-user
x-ms-client-request-id İstek için benzersiz tanımlayıcı
x-ms-client-version İsteği yapan istemcinin (kolay) sürüm tanımlayıcısı
x-ms-readonly Belirtilirse, isteği salt okunur modda çalışmaya zorlayarak uzun süreli değişiklikler yapmasını engeller

İstek parametreleri

İstekte aşağıdaki parametreler geçirilebilir. Get veya POST kullanılıp kullanılmadığına bağlı olarak istekte sorgu parametreleri olarak veya gövdenin bir parçası olarak kodlanırlar.

Parametre Açıklama Gerekli/İsteğe Bağlı
csl Yürütülecek sorgu veya yönetim komutunun metni Gerekli
db Sorgu veya yönetim komutunun hedefi olan kapsamdaki veritabanının adı Bazı yönetim komutları için isteğe bağlıdır.
Diğer komutlar ve tüm sorgular için gereklidir.
properties İsteğin işlenme şeklini ve sonuçlarını değiştiren istek özellikleri sağlar. Daha fazla bilgi için bkz . İstek özellikleri İsteğe Bağlı

GET sorgu parametreleri

GET kullanıldığında, isteğin sorgu parametreleri istek parametrelerini belirtir.

Gövde

POST kullanıldığında, isteğin gövdesi UTF-8 ile kodlanmış ve istek parametrelerinin değerleriyle birlikte tek bir JSON belgesidir.

Örnekler

Bu örnekte sorgu için HTTP POST isteği gösterilmektedir.

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

İstek üst bilgileri

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

İstek gövdesi

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

Bu örnekte curl kullanarak yukarıdaki sorguyu gönderen bir isteğin nasıl oluşturulacağı gösterilmektedir.

  1. Kimlik doğrulaması için bir belirteç alın.

    AAD_APPLICATION_IDUygulama kimlik doğrulaması Microsoft Entra ayarladıktan sonra , ve AAD_APPLICATION_KEY değerlerini ilgili değerlerle değiştirin AAD_TENANT_NAME_OR_ID

    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"
    

    Bu kod parçacığı size taşıyıcı belirteci sağlar.

    {
      "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. Sorgu uç noktasına isteğinizde taşıyıcı belirtecini kullanın.

    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. Yanıtı bu belirtim doğrultusunda okuyun.

İstemci isteği özelliklerini ve sorgu parametrelerini ayarlama

Aşağıdaki örnek gövdesindecsl, alanındaki sorgu ve dadlı n iki parametreyi bildirir. Bu sorgu parametrelerinin değerleri, istek gövdesindeki Parameters alanın altındaki properties alanın içinde belirtilir. alanı istemci Optionsisteği özelliklerini tanımlar.

Not

Dize olmayan ve uzun olmayan parametreler, dize biçiminde KQL değişmez değerleri olarak ifade edilmelidir.

{
    "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\"])"
        }
    }
}

Daha fazla bilgi için bkz . Sorgu parametreleri.