Share via


HTTP-svar för fråga/hantering

Svarsstatus

Http-svarsstatusraden följer HTTP-standardsvarskoderna. Kod 200 indikerar till exempel att det lyckades.

Följande statuskoder används för närvarande, även om en giltig HTTP-kod kan returneras.

Kod Underkod Description
100 Fortsätt Klienten kan fortsätta att skicka begäran.
200 OK Begäran har påbörjat bearbetningen.
400 BadRequest Begäran är felaktigt utformad och misslyckades (permanent).
401 Behörighet saknas Klienten måste autentiseras först.
403 Förbjudet Klientbegäran nekas.
404 NotFound Begäran refererar till en icke-befintlig entitet.
413 PayloadTooLarge Begärandenyttolasten överskred gränserna.
429 TooManyRequests Begäran har nekats på grund av begränsning.
504 Tidsgräns Tidsgränsen för begäran har överskrids.
520 ServiceError Tjänsten hittade ett fel när begäran bearbetas.

Anteckning

Statuskoden 200 visar att bearbetningen av begäran har startats och inte att den har slutförts. Fel som påträffas under bearbetningen av begäran efter att statuskoden 200 har returnerats kallas "partiella frågefel" och när de påträffas matas särskilda indikatorer in i svarsströmmen för att varna klienten om att de har inträffat.

Svarshuvuden

Följande anpassade rubriker returneras.

Anpassat sidhuvud Description
x-ms-client-request-id Den unika begärandeidentifieraren som skickas i begärandehuvudet med samma namn eller någon unik identifierare.
x-ms-activity-id En globalt unik korrelationsidentifierare för begäran. Den skapas av tjänsten.

Själva svaret

Om statuskoden är 200 är svarstexten ett JSON-dokument som kodar frågans eller hanteringskommandots resultat som en sekvens med rektangulära tabeller. Mer information finns nedan.

Anteckning

Sekvensen med tabeller återspeglas av SDK:et. När du till exempel använder .NET Framework Kusto.Data-biblioteket blir tabellsekvensen resultatet i objektet System.Data.IDataReader som returneras av SDK:t.

Om statuskoden anger ett 4xx- eller 5xx-fel, förutom 401, är svarstexten ett JSON-dokument som kodar information om felet. Mer information finns i Riktlinjer för Microsoft REST API.

Anteckning

Accept Om rubriken inte ingår i begäran är svarstexten för ett fel inte nödvändigtvis ett JSON-dokument.

JSON-kodning av en sekvens med tabeller

JSON-kodningen för en sekvens med tabeller är en enda JSON-egenskapsuppsättning med följande namn/värde-par.

Name Värde
Tables En matris med tabellegenskapsuppsättningen.

Tabellegenskapsuppsättningen har följande namn/värde-par.

Name Värde
TableName En sträng som identifierar tabellen.
Kolumner En matris med egenskapsuppsättningen Kolumn.
Rader En matris med radmatrisen.

Egenskapsuppsättningen Kolumn har följande namn/värde-par.

Name Värde
ColumnName En sträng som identifierar kolumnen.
DataType En sträng som ger kolumnens ungefärliga .NET-typ.
ColumnType En sträng som tillhandahåller kolumnens skalära datatyp .

Radmatrisen har samma ordning som respektive kolumnmatris. Radmatrisen har också ett element som sammanfaller med värdet för raden för den relevanta kolumnen. Skalära datatyper som inte kan representeras i JSON, till exempel datetime och timespan, representeras som JSON-strängar.

I följande exempel visas ett möjligt sådant objekt, när det innehåller en enda tabell med namnet Table_0 som har en enda kolumn Text av typen string, och en enskild rad.

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

Ett annat exempel:

Skärmbild som visar trädvyn för en JSON-fil som innehåller en matris med tabellobjekt.

Innebörden av tabeller i svaret

I de flesta fall returnerar hanteringskommandon ett resultat med en enda tabell som innehåller den information som genereras av hanteringskommandot. Kommandot returnerar till exempel .show databases en enda tabell med information om alla tillgängliga databaser i klustret.

Frågor returnerar vanligtvis flera tabeller. För varje tabelluttrycksuttryck genereras en eller flera tabeller i ordning, vilket representerar de resultat som genereras av -instruktionen.

Anteckning

Det kan finnas flera sådana tabeller på grund av batchar och förgreningsoperatorer).

Tre tabeller skapas ofta:

  • En @ExtendedProperties tabell som innehåller ytterligare värden, till exempel instruktioner för klientvisualisering (information som tillhandahålls av renderingsoperatorn), information om frågans effektiva databasmarkör eller information om frågans effektiva användning av cacheminnet för frågeresultat.

    För frågor som skickas med hjälp av v1-protokollet har tabellen en enda kolumn av typen string, vars värde är en JSON-kodad sträng, till exempel:

    Värde
    {"Visualisering":"piechart",...}
    {"Cursor":"637239957206013576"}

    För frågor som skickas med hjälp av v2-protokollet har tabellen tre kolumner: (1) En integer kolumn med namnet TableId som anger vilken tabell i resultatuppsättningen posten gäller för; (2) En string kolumn med namnet Key som anger vilken typ av information som tillhandahålls av posten (möjliga värden: Visualization, ServerCacheoch Cursor); (3) En dynamic kolumn med namnet som anger Value nyckelbestämd information.

    TableId Tangent Värde
    1 ServerCache {"OriginalStartedOn":"2021-06-11T07:48:34.6201025Z",...}
    1 Visualisering {"Visualisering":"piechart",...}
  • En QueryStatus-tabell som innehåller ytterligare information om körningen av själva frågan, till exempel om den slutfördes korrekt eller inte, och vilka resurser som förbrukades av frågan.

    Den här tabellen har följande struktur:

    Timestamp Allvarlighetsgrad SeverityName StatusCode StatusDescription Antal Id ActivityId SubActivityId ClientActivityId
    2020-05-02 06:09:12.7052077 4 Information 0 Frågan har slutförts 1 ... ... ... ...

    Allvarlighetsgrad 2 eller mindre indikerar fel.

  • En TableOfContents-tabell, som skapades sist, och visar de andra tabellerna i resultatet.

    Ett exempel för den här tabellen är:

    Ordningstal Variant Name 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