Выполняет запрос USQL и возвращает результаты в виде древовидной структуры запрошенных столбцов — плоский список, содержащий запрошенные столбцы.
Чтобы получить правильную древовидную структуру, вам нужно указать группировку в запросе. Поля, используемые в GROUP BY
предложении, образуют «ветви» дерева, каждая из которых содержит «листья» — выбранные поля, которые не использовались для группировки.
Запрос создает в качестве полезной нагрузкиapplication/json
формат.
GET | АппОптима | https://{your-domain}/e/{your-environment-id}/api/v1/userSessionQueryLanguage/tree
|
Среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/v1/userSessionQueryLanguage/tree
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с областью сеансов пользователей ( DTAQLAccess
) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
query | string | Выполняемый запрос сеанса пользователя. Подробнее о синтаксисе см. на странице документации USQL .
Вы можете найти доступные столбцы таблицы usersession в Вот пример запроса: |
query | требуется |
startTimestamp | integer | Отметка времени начала запроса в миллисекундах UTC.
Если не установлено или установлено как Если важны точные времена, задайте таймфрейм в самом запросе ( параметр запроса ). |
query | по желанию |
endTimestamp | integer | Отметка времени окончания запроса в миллисекундах UTC.
Если не установлено или установлено как Если важны точные времена, задайте таймфрейм в самом запросе ( параметр запроса ). |
query | по желанию |
offsetUTC | integer | Дополнительное смещение местного времени относительно времени UTC в минутах. Смещение будет применено к полям даты, встречающимся в запросе.
Может быть положительным или отрицательным. Например, если местное время UTC+02:00, timeOffset равно 120. Если это UTC-05:00, timeOffset равно -300. |
query | по желанию |
addDeepLinkFields | boolean | Добавьте ( true ), чтобы включить прямые ссылки на дополнительные поля в запросе.
Если не установлено, то |
query | по желанию |
explain | boolean | Добавьте ( true ) или не добавляйте ( false ) дополнительную информацию о результате в ответ.
Это помогает понять запрос и то, как был рассчитан результат. Если не установлено, то |
query | по желанию |
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
199 | UserSession | Структура данных сеанса пользователя. Этот код ответа никогда не возвращается. |
200 | DtaqlResultAsTree | Успех. Ответ содержит результат запроса. |
400 | Не удалось. Запрос отсутствует. | |
404 | Не удалось. Запрос недействителен. Дополнительную информацию см. в теле ответа. |
Объекты тела ответа
Объект DtaqlResultAsTree
Результат запроса сеанса пользователя в виде дерева.
Элемент | Тип | Описание |
---|---|---|
extrapolationLevel | integer | Уровень экстраполяции результата.
Для повышения производительности некоторые результаты могут быть рассчитаны на основе подмножества фактических данных. Уровень экстраполяции указывает на долю фактических данных в результате. Число является знаменателем дроби и указывает количество фактических данных. Значение Если вам нужно, чтобы анализ основывался на реальных данных, уменьшите временные рамки вашего запроса. Например, в случае уровня экстраполяции |
additionalColumnNames | string[] | Список столбцов в таблице AdditionalValues.
Присутствует только в том случае, если конечная точка была вызвана с |
additionalValues | array[] | Список строк данных.
Каждый элемент массива представляет строку в таблице дополнительно связанных полей. Размер каждой строки данных и порядок элементов соответствуют содержимому AdditionalColumnNames . Присутствует только в том случае, если конечная точка была вызвана с |
explanations | string[] | Дополнительная информация о запросе и результате, помогающая понять запрос и способ расчета результата.
Появляется только тогда, когда для параметра объяснения установлено значение Пример. Количество результатов по умолчанию ограничено 50. Используйте |
branchNames | string[] | Список ветвей дерева.
Как правило, это поля из |
leafNames | string[] | Список листьев на каждой ветке дерева.
Как правило, это поля из |
values | object | Результат запроса сеанса пользователя в виде дерева. |
JSON-модель тела ответа
<{ "extrapolationLevel": 1, "branchNames": [ "country", "city" ], "leafNames": [ "avg(duration)", "max(duration)" ], "values": { "Austria": { "Klagenfurt": [ "65996.75", "129940" ], "Linz": [ "57360.86", "222912" ] }, "Poland": { "Gdansk": [ "22482.2", "351263" ] } } }
Пример
В этом примере запрос выполняет SELECT country, city, avg(duration), max(duration) FROM usersession GROUP BY country, city
запрос.
Маркер API передается в заголовке авторизации .
Результат усекается до 4 записей.
Поскольку временной интервал не указан, запрос использует временной интервал по умолчанию, равный 2 часам назад от текущего времени.
В полученной структуре все значения изначально сгруппированы по странам , причем каждый объект массива значений представляет страну. Каждый из этих объектов содержит массивы средней и максимальной продолжительности пользовательских сеансов для каждого города .
Значение extrapolationLevel , равное 4, указывает, что значения экстраполируются на основе 1/4 фактических данных.
Завиток
<curl -X GET \ 'https://mySampleEnv.live.ruscomtech.ru/api/v1/userSessionQueryLanguage/api/v1/userSessionQueryLanguage/tree?query=select%20country,%20city,%20avg%28duration%29,%20max%28duration%29%20from%20usersession%20group%20by%20country,%20city' \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v1/userSessionQueryLanguage/api/v1/userSessionQueryLanguage/tree?query=select%20country,%20city,%20avg%28duration%29,%20max%28duration%29%20from%20usersession%20group%20by%20country,%20city
Тело ответа
<{ "extrapolationLevel": 4, "branchNames": [ "country", "city" ], "leafNames": [ "avg(duration)", "max(duration)" ], "values": { "Austria": { "Vienna": [ 64423.908602150535, 557649 ] }, "United States": { "Detroit": [ 58984.49809402796, 504369 ], "Boston": [ 53865.68464730291, 434636 ] }, "Poland": { "Gdańsk": [ 31177.50773993808, 445353 ] } } }
Код ответа
200