HTTP-ответ для запроса или управления
Состояние ответа
Строка состояния HTTP-ответа соответствует стандартным кодам ответа HTTP. Например, код 200 указывает на успешное выполнение.
В настоящее время используются следующие коды состояния, хотя может быть возвращен любой допустимый код HTTP.
Код | Subcode | Описание |
---|---|---|
100 | Продолжить | Клиент может продолжать отправлять запрос. |
200 | ОК | Запрос успешно начал обработку. |
400 | BadRequest | Запрос формируется неправильно и завершается сбоем (безвозвратно). |
401 | Не авторизовано | Сначала клиент должен пройти проверку подлинности. |
403 | Запрещено | Запрос клиента отклонен. |
404 | NotFound | Запрос ссылается на несуществующий объект. |
413 | PayloadTooLarge | Превышение лимита полезных данных запроса. |
429 | TooManyRequests | Запрос был отклонен из-за регулирования. |
504 | Время ожидания | Истекло время ожидания запроса. |
520 | ServiceError | Служба обнаружила ошибку при обработке запроса. |
Примечание
Код состояния 200 показывает, что обработка запроса успешно запущена, а не успешно завершена. Сбои, возникшие во время обработки запроса после возврата кода состояния 200, называются частичными сбоями запросов, а при их обнаружении в поток ответа внедряются специальные индикаторы, чтобы предупредить клиента о том, что они произошли.
Заголовки ответов
Будут возвращены следующие пользовательские заголовки.
Пользовательский заголовок | Описание |
---|---|
x-ms-client-request-id |
Уникальный идентификатор запроса, отправленный в заголовке запроса с тем же именем, или какой-либо уникальный идентификатор. |
x-ms-activity-id |
Глобальный уникальный идентификатор корреляции для запроса. Он создается службой. |
Текст ответа
Если код состояния равен 200, текст ответа представляет собой документ JSON, который кодирует результаты запроса или команды управления в виде последовательности прямоугольных таблиц. Подробности см. ниже.
Примечание
Последовательность таблиц отражается пакетом SDK. Например, при использовании библиотеки платформа .NET Framework Kusto.Data последовательность таблиц затем становится результатом в объектеSystem.Data.IDataReader
, возвращаемом пакетом SDK.
Если код состояния указывает на ошибку 4xx или 5xx, отличное от 401, текст ответа представляет собой документ JSON, который кодирует сведения о сбое. Дополнительные сведения см. в статье Рекомендации по REST API Майкрософт.
Примечание
Если заголовок Accept
не включен в запрос, текст ответа на ошибку не обязательно является документом JSON.
Кодировка JSON последовательности таблиц
Кодировка JSON последовательности таблиц представляет собой один контейнер свойств JSON со следующими парами "имя-значение".
Имя | Значение |
---|---|
Tables | Массив контейнера свойств Table. |
Контейнер свойств Table содержит следующие пары "имя-значение".
Имя | Значение |
---|---|
TableName | Строка, идентифицирующая таблицу. |
Столбцы | Массив контейнера свойств Column. |
Строки | Массив массива Строк. |
Контейнер свойств Column содержит следующие пары "имя-значение".
Имя | Значение |
---|---|
ColumnName | Строка, определяющая столбец. |
DataType | Строка, которая предоставляет приблизительный тип .NET столбца. |
ColumnType | Строка, предоставляющая скалярный тип данных столбца. |
Массив Строк имеет тот же порядок, что и соответствующий массив Columns.
Массив Row также содержит один элемент, совпадающий со значением строки для соответствующего столбца.
Скалярные типы данных, которые не могут быть представлены в JSON, такие как datetime
и timespan
, представляются в виде строк JSON.
В следующем примере показан один из возможных таких объектов, если он содержит одну таблицу с именем Table_0
, которая содержит один столбец Text
типа string
и одну строку.
{
"Tables": [{
"TableName": "Table_0",
"Columns": [{
"ColumnName": "Text",
"DataType": "String",
"ColumnType": "string"
}],
"Rows": [["Hello, World!"]]
}
Еще один пример:
Значение таблиц в ответе
В большинстве случаев команды управления возвращают результат с одной таблицей, содержащей сведения, созданные командой управления. Например, .show databases
команда возвращает одну таблицу со сведениями обо всех доступных базах данных в кластере.
Запросы обычно возвращают несколько таблиц. Для каждого табличного выражения одна или несколько таблиц создаются в порядке, представляющего результаты, полученные оператором .
Примечание
Таких таблиц может быть несколько из-за пакетов и операторов вилки.
Часто создаются три таблицы:
Таблица @ExtendedProperties , которая предоставляет дополнительные значения, такие как клиентские инструкции визуализации (сведения, предоставляемые оператором render), сведения об эффективном курсоре базы данных запроса или сведения об эффективном использовании запроса кэша результатов запроса.
Для запросов, отправленных по протоколу версии 1, таблица содержит один столбец типа
string
, значением которого является строка в кодировке JSON, например:Значение {"Визуализация":"piechart",...} {"Cursor":"637239957206013576"} Для запросов, отправленных по протоколу версии 2, таблица содержит три столбца: (1) столбец
integer
с именемTableId
, указывающий, к какой таблице в результирующих наборах применяется запись; (2) Столбецstring
с именемKey
, указывающий тип информации, предоставляемой записью (возможные значения:Visualization
,ServerCache
иCursor
); (3) Столбецdynamic
с именемValue
, предоставляющий сведения, определяемые ключом.TableId Ключ Значение 1 ServerCache {"OriginalStartedOn":"2021-06-11T07:48:34.6201025Z",...} 1 Визуализация {"Визуализация":"piechart",...} Таблица QueryStatus, которая предоставляет дополнительные сведения о выполнении самого запроса, например, успешно ли он выполнен или нет, и какие ресурсы были использованы запросом.
Эта таблица имеет следующую структуру:
Отметка времени Статус SeverityName StatusCode Описание состояния Count RequestId ActivityId SubActivityId ClientActivityId 2020-05-02 06:09:12.7052077 4 Info 0 Запрос успешно завершен 1 ... ... ... ... Значения серьезности 2 или меньше указывают на сбой.
Таблица TableOfContents, которая создается последней, и перечисляет другие таблицы в результатах.
Пример для этой таблицы:
Порядковый номер Kind Имя Идентификатор 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по