Http-ответ запроса и управления

Переключение служб с помощью раскрывающегося списка версий . Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer

Состояние ответа

Строка состояния ответа HTTP соответствует стандартным кодам ответа HTTP. Например, код 200 указывает на успех.

В настоящее время используются следующие коды состояния, хотя любой допустимый HTTP-код может быть возвращен.

Code Подкод Description
100 Продолжить Клиент может продолжать отправлять запрос.
200 ХОРОШО Запрос успешно начал обработку.
400 Неверный запрос Запрос плохо сформирован и завершился сбоем (окончательно).
401 Не авторизовано Сначала клиент должен пройти проверку подлинности.
Ошибка 403: Доступ запрещён Запрещено Запрос клиента запрещен.
404 Не найдено Запрос ссылается на несуществующую сущность.
413 Полезные данныеTooLarge Превышение полезных данных запроса.
429 Слишком много запросов Запрос был отклонен из-за регулирования.
504 Таймаут Время ожидания запроса истекло.
520 Ошибка сервиса Служба обнаружила ошибку при обработке запроса.

Замечание

Код состояния 200 показывает, что обработка запроса успешно запущена, а не успешно завершена. Ошибки, возникающие во время обработки запросов после возврата кода состояния 200, называются "частичными сбоями запросов", и при обнаружении их возникновения специальные индикаторы внедряются в поток ответа для оповещения клиента о том, что они произошли.

Заголовки ответа

Будут возвращены следующие пользовательские заголовки.

Пользовательский заголовок Description
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.

В контейнере свойств таблицы имеются следующие пары "имя-значение".

Имя Ценность
TableName Строка, идентифицирующая таблицу.
Колонны Массив контейнера свойств Column.
Rows Массив массива строк.

Контейнер свойств Column содержит следующие пары "имя-значение".

Имя Ценность
ColumnName Строка, определяющая столбец.
Тип данных Строка, предоставляющая приблизительный тип столбца .NET.
Тип столбца Строка, предоставляющая скалярный тип данных столбца.

Массив строк имеет тот же порядок, что и соответствующий массив столбцов. Массив строк также имеет один элемент, который совпадает со значением строки для соответствующего столбца. Скалярные типы данных, которые не могут быть представлены в формате JSON, например datetime и timespan, представляются в виде строк JSON.

В следующем примере показан один из возможных таких объектов, если он содержит одну таблицу Table_0 с одним столбцом Text типа stringи одной строкой.

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

Еще один пример:

Снимок экрана: представление дерева JSON-файла, содержащего массив объектов table.

Значение таблиц в ответе

В большинстве случаев команды управления возвращают результат с одной таблицей, содержащей сведения, созданные командой управления. Например, .show databases команда возвращает одну таблицу со сведениями обо всех доступных базах данных.

Запросы обычно возвращают несколько таблиц. Для каждой инструкции табличного выражения создается одна или несколько таблиц по порядку, представляющая результаты, созданные инструкцией.

Замечание

Из-за пакетов и операторов вилки может быть несколько таких таблиц.

Три таблицы часто создаются:

  • Таблица @ExtendedProperties , которая предоставляет дополнительные значения, такие как инструкции визуализации клиента (сведения, предоставляемые оператором отрисовки), сведения об эффективном курсоре базы данных запроса или сведения об эффективном использовании кэша результатов запроса.

    Для запросов, отправленных с помощью протокола версии 1, таблица имеет один столбец типа string, значение которого является строкой в кодировке JSON, например:

    Ценность
    {"Визуализация":"piechart",...}
    {"Cursor":"637239957206013576"}

    Для запросов, отправленных с помощью протокола версии 2, таблица содержит три столбца: (1) Столбец integer , указывающий TableId , к какой таблице в результатах задана запись; (2) Столбец string , указывающий Key тип информации, предоставленной записью (возможные значения: Visualization, ServerCacheи Cursor); (3) dynamic Столбец, который называется Value предоставлением сведений, определяемых ключом.

    TableId Key Ценность
    1 ServerCache {"OriginalStartedOn":"2021-06-11T07:48:34.6201025Z",...}
    1 Визуализация {"Визуализация":"piechart",...}
  • Таблица QueryStatus, которая предоставляет дополнительные сведения о выполнении самого запроса, например, если оно выполнено успешно или нет, а также о том, какие ресурсы используются запросом.

    Эта таблица имеет следующую структуру:

    Отметка времени Severity Уровень серьёзности Код статуса Описание статуса Численность Идентификатор запроса (RequestId) Идентификатор активности 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