Respons HTTP Kueri/manajemen

Status Respons

Baris status respons HTTP mengikuti kode respons standar HTTP. Misalnya, kode 200 menunjukkan keberhasilan.

Kode status berikut saat ini sedang digunakan, meskipun kode HTTP yang valid dapat dikembalikan.

Kode Subcode Deskripsi
100 Lanjutkan Klien dapat terus mengirim permintaan.
200 OK Permintaan mulai diproses dengan sukses.
400 BadRequest Permintaan terbentuk dengan buruk dan gagal (secara permanen).
401 Tidak diizinkan Klien harus mengotentikasi terlebih dahulu.
403 Terlarang Permintaan klien ditolak.
404 NotFound Minta referensi entitas yang tidak ada.
413 PayloadTooLarge Payload permintaan melebihi batas.
429 TooManyRequests Permintaan telah ditolak karena pelambatan.
504 Batas waktu Waktu permintaan telah habis.
520 ServiceError Layanan menemukan kesalahan saat memproses permintaan.

Catatan

Kode status 200 menunjukkan bahwa pemrosesan permintaan telah berhasil dimulai, dan bukan berarti telah berhasil diselesaikan. Kegagalan yang dihadapi selama pemrosesan permintaan setelah kode status 200 telah kembali disebut "kegagalan kueri parsial", dan ketika ditemui, indikator khusus diinjeksi ke dalam aliran responsuntuk mengingatkan klien bahwa hal itu terjadi.

Header respons

Header kustom berikut akan dikembalikan.

Header kustom Deskripsi
x-ms-client-request-id Pengidentifikasi permintaan unik yang dikirim di header permintaan dengan nama yang sama, atau beberapa pengidentifikasi unik.
x-ms-activity-id Pengidentifikasi korelasi unik secara global untuk permintaan tersebut. Ini dibuat oleh layanan.

Isi respons

Jika kode status adalah 200, isi respons adalah dokumen JSON yang mengodekan hasil perintah kueri atau manajemen sebagai urutan tabel persegi panjang. Lihat di bawah untuk detailnya.

Catatan

Urutan tabel tercermin oleh SDK. Misalnya, saat menggunakan pustaka .NET Framework Kusto.Data, urutan tabel kemudian menjadi hasil pada System.Data.IDataReader objek yang dikembalikan oleh SDK.

Jika kode status menunjukkan kesalahan 4xx atau 5xx, selain 401, isi respons adalah dokumen JSON yang mengkodekan detail kegagalan. Untuk informasi selengkapnya, lihat Panduan Microsoft REST API.

Catatan

Jika Accept header tidak disertakan dengan permintaan, isi respons kegagalan belum tentu dokumen JSON.

Pengodean JSON dari urutan tabel

Pengkodean JSON dari urutan tabel adalah bag properti JSON tunggal dengan pasangan nama/nilai berikut.

Nama Nilai
Tabel Array bag properti Tabel.

Tas properti Tabel memiliki pasangan nama/nilai berikut.

Nama Nilai
TableName Karakter yang mengidentifikasi tabel.
Kolom Array bag properti Kolom.
Baris Array dari array baris.

Tas properti Kolom memiliki pasangan nama/nilai berikut.

Nama Nilai
ColumnName Karakter yang mengidentifikasi kolom.
DataType Karakter yang memberikan perkiraan .NET Jenis kolom.
ColumnType String yang menyediakan jenis data skalar kolom.

Array Baris memiliki urutan yang sama dengan array Kolom masing-masing. Array Baris juga memiliki satu elemen yang bertepatan dengan nilai baris untuk kolom yang relevan. Tipe data skalar yang tidak dapat diwakili dalam JSON, seperti datetime dan timespan, diwakili sebagai karakter JSON.

Contoh berikut menunjukkan satu kemungkinan objek tersebut, ketika berisi tabel tunggal yang disebut Table_0 yang memiliki satu kolom Text tipe string, dan satu baris.

{
    "Tables": [{
        "TableName": "Table_0",
        "Columns": [{
            "ColumnName": "Text",
            "DataType": "String",
            "ColumnType": "string"
        }],
        "Rows": [["Hello, World!"]]
}

Berikut adalah contoh lain:

Cuplikan layar memperlihatkan tampilan pohon file JSON yang berisi array objek Tabel.

Arti tabel dalam respons

Dalam kebanyakan kasus, perintah manajemen mengembalikan hasil dengan satu tabel, yang berisi informasi yang dihasilkan oleh perintah manajemen. Misalnya, .show databases perintah mengembalikan tabel tunggal dengan detail semua database yang dapat diakses di kluster.

Kueri umumnya mengembalikan beberapa tabel. Untuk setiap pernyataan ekspresi tabular, satu atau beberapa tabel dihasilkan secara berurutan, merepresentasikan hasil yang dihasilkan oleh pernyataan.

Catatan

Mungkin ada beberapa tabel seperti itu karena operator batch dan fork).

Tiga tabel sering diproduksi:

  • @ExtendedProperties Tabel yang menyediakan nilai tambahan, seperti instruksi visualisasi klien (informasi yang diberikan oleh operator render), informasi tentang kursor database kueri yang efektif, atau informasi tentang penggunaan cache hasil kueri yang efektif dari kueri.

    Untuk kueri yang dikirim menggunakan protokol v1, tabel memiliki kolom tunggal tipe string, yang nilainya adalah karakter yang dikodekan JSON, seperti:

    Nilai
    {"Visualization":"piechart",...}
    {"Cursor":"637239957206013576"}

    Untuk kueri yang dikirim menggunakan protokol v2, tabel memiliki tiga kolom: (1) integer Kolom yang disebut TableId menunjukkan tabel mana dalam hasil yang ditetapkan catatan berlaku; (2) stringKolom yang disebut Keymenunjukkan jenis informasi yang diberikan oleh catatan (nilai yang mungkin: Visualization, ServerCache, dan Cursor ); (3) dynamic Kolom yang disebut Value memberikan informasi yang ditentukan kunci.

    TableId Kunci Nilai
    1 ServerCache {"OriginalStartedOn":"2021-06-11T07:48:34.6201025Z",...}
    1 Visualisasi {"Visualization":"piechart",...}
  • Tabel Status Kueri yang menyediakan informasi tambahan tentang eksekusi kueri itu sendiri, seperti, apakah berhasil diselesaikan atau tidak, dan sumber daya apa yang digunakan oleh kueri.

    Tabel ini memiliki struktur berikut:

    Tanda waktu Tingkat keparahan SeverityName StatusCode StatusDescription Count RequestId ActivityId SubActivityId ClientActivityId
    2020-05-02 06:09:12.7052077 4 info 0 Kueri berhasil diselesaikan 1 ... ... ... ...

    Nilai keparahan 2 atau lebih kecil menunjukkan kegagalan.

  • Tabel Daftar Isi, yang dibuat terakhir, dan mencantumkan tabel lain dalam hasil.

    Contoh untuk tabel ini adalah:

    Ordinal Jenis Nama Id PrettyName
    0 QueryResult PrimaryResult db9520f9-0455-4cb5-b257-53068497605a
    1 QueryProperties @ExtendedProperties 908901f6-5319-4809-ae9e-009068c267c7
    2 QueryStatus QueryStatus 00000000-0000-0000-0000-000000000000