Bagikan melalui


Permintaan HTTP Kueri/manajemen

Berlaku untuk: ✅Microsoft Fabric✅Azure Data Explorer

Meminta kata kerja dan sumber daya

Perbuatan Kata kerja HTTP Sumber daya HTTP
Kueri GET /v1/rest/query
Kueri POST /v1/rest/query
Query v2 GET /v2/rest/query
Query v2 POST /v2/rest/query
Manajemen POST /v1/rest/mgmt

Misalnya, untuk mengirim perintah manajemen ("manajemen") ke titik akhir layanan, gunakan baris permintaan berikut:

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

Lihat Header permintaan dan Isi untuk mempelajari apa yang harus disertakan.

Header permintaan

Tabel berikut berisi header umum yang digunakan untuk operasi kueri dan manajemen.

Header standar Deskripsi Diperlukan/Opsional
Accept Jenis media yang diterima klien. Atur ke application/json. Wajib
Accept-Encoding Pengodean konten yang didukung. Pengodean yang didukung adalah gzip dan deflate. Opsional
Authorization Kredensial autentikasi. Untuk informasi selengkapnya, lihat autentikasi. Wajib
Connection Apakah koneksi tetap terbuka setelah operasi. Rekomendasinya adalah mengatur Connection ke Keep-Alive. Opsional
Content-Length Ukuran isi permintaan. Tentukan panjang isi permintaan jika diketahui. Opsional
Content-Type Jenis media isi permintaan. Atur ke application/json dengan charset=utf-8. Wajib
Expect Respons yang diharapkan dari server. Ini dapat diatur ke 100-Continue. Opsional
Host Nama domain yang memenuhi syarat tempat permintaan dikirim. Contohnya,help.kusto.windows.net. Wajib

Tabel berikut berisi header kustom umum yang digunakan untuk operasi kueri dan manajemen. Kecuali disebutkan, header ini hanya digunakan untuk tujuan telemetri dan tidak memengaruhi fungsionalitas.

Semua header bersifat opsional. Namun, Sebaiknya tentukan x-ms-client-request-id header kustom. Dalam beberapa skenario, seperti membatalkan kueri yang sedang berjalan, x-ms-client-request-id diperlukan karena digunakan untuk mengidentifikasi permintaan.

Header kustom Deskripsi
x-ms-app Nama aplikasi yang ramah membuat permintaan.
x-ms-user Nama yang mudah diingat pengguna yang membuat permintaan.
x-ms-user-id Nama bersahabat yang sama dengan x-ms-user.
x-ms-client-request-id Pengidentifikasi unik untuk permintaan.
x-ms-client-version Pengidentifikasi versi yang ramah untuk klien yang membuat permintaan.
x-ms-readonly Jika ditentukan, ini memaksa permintaan untuk berjalan dalam mode baca-saja yang mencegah permintaan mengubah data.

Parameter permintaan

Parameter berikut dapat diteruskan dalam permintaan. Mereka dikodekan dalam permintaan sebagai parameter kueri atau sebagai bagian dari isi, bergantung pada apakah GET atau POST digunakan.

Parameter Deskripsi Diperlukan/Opsional
csl Teks perintah kueri atau manajemen untuk dijalankan. Wajib
db Nama database yang merupakan target perintah kueri atau manajemen. Opsional untuk beberapa perintah manajemen.
Diperlukan untuk semua kueri dan semua perintah lainnya.
properties Properti permintaan yang mengubah cara permintaan diproses dan hasilnya. Untuk informasi selengkapnya, lihat Meminta properti. Opsional

Parameter kueri GET

Saat permintaan GET digunakan, parameter kueri menentukan parameter permintaan.

Isi

Saat permintaan POST digunakan, isi permintaan berisi satu dokumen JSON yang dikodekan UTF-8, yang mencakup nilai parameter permintaan.

Contoh

Contoh berikut menunjukkan permintaan HTTP POST untuk kueri.

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

Header permintaan

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

Isi permintaan

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

Contoh berikut menunjukkan cara membuat permintaan yang mengirim kueri sebelumnya, menggunakan curl.

  1. Dapatkan token untuk autentikasi.

    Ganti AAD_TENANT_NAME_OR_ID, AAD_APPLICATION_ID, dan AAD_APPLICATION_KEY dengan nilai yang relevan, setelah menyiapkan autentikasi aplikasi Microsoft Entra.

    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"
    

    Cuplikan kode ini memberi Anda token pembawa.

    {
      "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. Gunakan token pembawa dalam permintaan Anda ke titik akhir kueri.

    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. Baca respons sesuai dengan kode status respons.

Mengatur properti permintaan klien dan parameter kueri

Dalam contoh isi permintaan berikut, kueri di csl bidang mendeklarasikan dua parameter bernama n dan d. Nilai untuk parameter kueri tersebut Parameters ditentukan dalam bidang di bawah properties bidang dalam isi permintaan. Bidang Options menentukan properti permintaan klien.

Catatan

Parameter non-string dan non-panjang harus dinyatakan sebagai literal KQL dalam format string.

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

Untuk informasi selengkapnya, lihat Properti permintaan yang didukung.

Kirim perintah perlihatkan kebijakan penembolokan database

Contoh berikut mengirimkan permintaan untuk memperlihatkan kebijakan penembolokan Samples database.


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