Это SQL-версия отчёта панели управления по консолидированным запросам к API.
Данный отчёт отображает статистику использования API по датам, отслеживая как обычные запросы к API, так и пользовательские запросы к API. Он помогает контролировать паттерны использования API на вашем экземпляре Discourse с течением времени. Отчёт различает обычные запросы к API и пользовательские запросы к API, показывая их по отдельности, а также общую суммарную сумму.
Данные получены из таблицы application_requests, которая отслеживает различные типы запросов по всей системе. Для анализа использования API мы фокусируемся на типах запросов 11 (обычный API) и 12 (пользовательский API).
-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2025-12-31
SELECT
ar.date,
-- API запросы
SUM(CASE WHEN ar.req_type = 11 THEN ar.count ELSE 0 END) AS api,
SUM(CASE WHEN ar.req_type = 12 THEN ar.count ELSE 0 END) AS user_api,
-- Всего запросов к API
SUM(CASE WHEN ar.req_type IN (11, 12) THEN ar.count ELSE 0 END) AS total_api_requests
FROM
application_requests ar
WHERE
ar.date BETWEEN :start_date AND :end_date
GROUP BY
ar.date
ORDER BY
ar.date DESC
Параметры:
- Запрос принимает два параметра:
:start_dateи:end_date, которые определяют диапазон дат для отчёта. Оба параметра даты принимают форматYYYY-MM-DD.
Результаты
- date: Дата подсчёта запросов
- api: Количество обычных запросов к API (req_type = 11)
- user_api: Количество пользовательских запросов к API (req_type = 12)
- total_api_requests: Сумма всех запросов к API
В чём разница между обычными запросами к API и пользовательскими запросами к API?
- Обычные запросы к API (req_type = 11): Это вызовы API, отправляемые в систему без аутентификации пользователя. К ним относятся публичные конечные точки API, системные интеграции или сторонние сервисы, обращающиеся к публичным данным.
- Пользовательские запросы к API (req_type = 12): Это вызовы API, выполняемые с аутентификацией пользователя. Обычно они представляют действия, совершаемые от имени конкретных пользователей, и требуют наличия у пользователя API-ключа.
Пример результатов
| date | api | user_api | total_api_requests |
|---|---|---|---|
| 2023-09-15 | 34 582 | 7 249 | 41 831 |
| 2023-09-14 | 32 104 | 6 893 | 38 997 |
| 2023-09-13 | 33 756 | 7 122 | 40 878 |
| 2023-09-12 | 35 122 | 8 562 | 43 684 |
| 2023-09-11 | 36 475 | 9 234 | 45 709 |
| 2023-09-10 | 12 563 | 3 298 | 15 861 |
| 2023-09-09 | 10 782 | 2 982 | 13 764 |
| 2023-09-08 | 33 892 | 7 456 | 41 348 |
| 2023-09-07 | 31 765 | 7 120 | 38 885 |
| 2023-09-06 | 32 451 | 7 321 | 39 772 |