You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/documentation/admin/datasources/types.ru.md
+60-29Lines changed: 60 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -595,7 +595,7 @@ FIELDS:
595
595
596
596
## GenericAPI
597
597
598
-
Источник данных типа **GenericAPI** позволяет подключаться к любому REST API и получать данные в формате JSON. Поддерживает различные типы пагинации и настраиваемые параметры запроса.
598
+
Источник данных типа **GenericAPI** позволяет подключаться к любому REST API и получать данные в формате JSON. Поддерживаются различные типы пагинации и настраиваемые параметры запроса.
| `paginationType` | Опционально | Тип пагинации для обработки больших объемов данных | `none`, `offset`, `cursor`, `page`, `link_header` | `none` | `none` |
633
+
| `path` | Опционально | Путь к эндпоинту API, который будет добавлен к базовому URL | Любая строка, начинающаяся с `/` | `/api/v1/users`, `/projects` | `""` |
634
+
| `dataPath` | Опционально | Путь к данным в ответе (цепочка ключей через точку) | Любая строка | `data`, `results.items`, `.` | `.` |
| `mapKeyField` | Опционально | При `responseFormat` равном `map`: название поля, в которое записать ключ из JSON-объекта | Любая строка | `slug`, `externalId` | `""` |
637
+
| `pageParam` | Опционально | Название параметра для номера страницы (для offset- и page- пагинации) | Любая строка | `page`, `_page`, `pageNumber` | `page` |
638
+
| `limitParam` | Опционально | Название параметра для количества элементов на странице (для offset-пагинации) | Любая строка | `limit`, `per_page`, `_limit`, `size` | `limit` |
639
+
| `sizeParam` | Опционально | Название параметра для размера страницы (для page-пагинации) | Любая строка | `size`, `pageSize`, `_size` | `size` |
640
+
| `cursorParam` | Опционально | Название параметра для курсора (для cursor-пагинации) | Любая строка | `cursor`, `after`, `next` | `cursor` |
641
+
| `pageSize` | Опционально | Количество элементов на странице для пагинации | Положительное целое число | `10`, `20`, `50`, `100` | `100` |
642
+
| `requestBody` | Опционально | Тело запроса для POST/PUT/PATCH-методов | Любая строка | `{"query": "example"}` | `""` |
643
+
622
644
### Спецификация ответа
623
645
624
-
GenericAPI возвращает массив объектов JSON. Структура данных зависит от конкретного API, к которому происходит подключение.
646
+
Формат ожидаемого ответа задаётся параметром `responseFormat` (по умолчанию `array`).
625
647
626
-
Пример типичного ответа:
648
+
Пример ответа для `responseFormat: array`:
627
649
628
650
```json
629
651
[
@@ -642,49 +664,58 @@ GenericAPI возвращает массив объектов JSON. Структ
642
664
]
643
665
```
644
666
645
-
### Конфигурация
667
+
Пример ответа для `responseFormat: map`:
646
668
647
-
* **URL** — базовый URL API в формате `https://api.example.com`.
648
-
* **Method** — HTTP-метод (GET, POST, PUT, PATCH, DELETE).
649
-
* **Query** — дополнительные query параметры (например, для фильтрации или поиска).
| `paginationType` | опционально | Тип пагинации для обработки больших объемов данных | `none`, `offset`, `cursor`, `page`, `link_header` | `none` | `none` |
656
-
| `path` | опционально | Путь к эндпоинту API, который будет добавлен к базовому URL | Любая строка, начинающаяся с `/` | `/api/v1/users`, `/projects` | `""` |
657
-
| `dataPath` | опционально | JSONPath для извлечения массива данных из ответа API | Любая строка | `data`, `results.items`, `.` | `.` |
658
-
| `pageParam` | опционально | Название параметра для номера страницы (для offset- и page- пагинации) | Любая строка | `page`, `_page`, `pageNumber` | `page` |
659
-
| `limitParam` | опционально | Название параметра для количества элементов на странице (для offset-пагинации) | Любая строка | `limit`, `per_page`, `_limit`, `size` | `limit` |
660
-
| `sizeParam` | опционально | Название параметра для размера страницы (для page-пагинации) | Любая строка | `size`, `pageSize`, `_size` | `size` |
661
-
| `cursorParam` | опционально | Название параметра для курсора (для cursor-пагинации) | Любая строка | `cursor`, `after`, `next` | `cursor` |
662
-
| `pageSize` | опционально | Количество элементов на странице для пагинации | Положительное целое число | `10`, `20`, `50`, `100` | `100` |
663
-
| `requestBody` | опционально | Тело запроса для POST/PUT/PATCH-методов | Любая строка | `{"query": "example"}` | `""` |
678
+
При **`mapKeyField: example`** в обработку передаётся массив с добавленным полем `example` со значением, взятым из ключа объекта:
Аудит-логи формируются автоматически в DDP Backend с использованием промежуточного слоя обработки запросов (middleware) для всех HTTP-запросов, кроме GET.
31
31
32
32
Для снижения нагрузки на базу данных используется буферизация записей со следующими параметрами:
33
-
- Размер батча — 40 записей.
34
-
- Интервал записи — 20 секунд.
35
-
- Размер буфера в памяти — 4 записи.
33
+
34
+
1. Размер батча — 40 записей.
35
+
1. Интервал записи — 20 секунд.
36
+
1. Размер буфера в памяти — 4 записи.
36
37
37
38
## Хранение
38
39
39
-
Аудит-логи хранятся в таблице audit_logs базы данных PostgreSQL. Таблица партиционирована на основе поля `timestamp` с разделением по дням.
40
+
Аудит-логи хранятся в таблице `audit_logs` базы данных PostgreSQL. Таблица партиционирована на основе поля `timestamp` с разделением по дням.
40
41
41
42
Структура таблицы поддерживается автоматически: ежедневно в 00:00 по серверному времени подготавливается пространство для записи логов на следующие 7 дней.
42
43
43
44
Логи хранятся неограниченно долго. Автоматическая очистка старых записей не выполняется. Для управления временем хранения необходимо настроить автоматическое удаление старых групп логов через внешние инструменты (например, cron-задачи или скрипты очистки базы данных).
44
45
45
46
## Просмотр логов
46
47
47
-
Аудит-логи доступны через веб-интерфейс в разделе «Администрирование» → «Аудит». Логи можно фильтровать по следующим параметрам:
48
+
Аудит-логи доступны через веб-интерфейс в разделе «Администрирование» → «Аудит». Логи можно фильтровать по следующим
49
+
параметрам:
50
+
51
+
- Период (дата и время начала и окончания).
48
52
- Email пользователя.
49
53
- IP-адрес.
50
-
-Эндпоинт.
54
+
-Путь.
51
55
- Метод запроса.
52
56
- Статус ответа.
53
57
58
+
## Выгрузка в CSV
59
+
60
+
На странице просмотра аудит-логов доступна кнопка **«Скачать .csv»**. Выгрузка выполняется только при наличии разрешения на чтение аудит-логов.
61
+
62
+
В файл попадают **все** записи, соответствующие текущим фильтрам и сортировке. Если число подходящих событий превышает лимит в 100 000 записей, выгрузка не выполняется.
63
+
54
64
## Настройка
55
65
56
66
Механизм аудит-логирования включён по умолчанию и не требует дополнительной настройки. Для управления временем хранения логов необходимо настроить автоматическое удаление старых партиций базы данных.
0 commit comments