/datamarts/{datamart}/entities/sync
Содержание раздела
POST-метод запускает синхронизацию материализованных представлений в логической БД. Синхронизация запускается однократно, не дожидаясь очередного цикла автоматической синхронизации.
Если настроена публикация системных событий, по каждому успешно синхронизированному представлению публикуется событие SYNC_OK.
Прогресс синхронизации можно проверить с помощью CHECK_MATERIALIZED_VIEW.
Запустить однократную синхронизацию также можно с помощью команды SYNC_MATERIALIZED_VIEWS.
URL
{baseUrl}/api/v1/datamarts/{datamart}/entities/sync
Параметры:
baseUrl— адрес ноды Prostore, состоящий из IP-адреса или доменного имени и номера порта;datamart— имя логической базы данных, в которой запускается синхронизация материализованных представлений.
Заголовки запроса
Заголовок x-request-id
Опциональный заголовок задает уникальный идентификатор HTTP-запроса. Если не указан, система генерирует UUID-значение и возвращает его в качестве идентификатора в ответе.
Тело запроса
Тело запроса опционально и может содержать параметры, описанные ниже. В квадратных скобках отмечены опциональные параметры.
[ async ]-
Параметр, переключающий режим обработки запроса. Возможные значения:
false(по умолчанию) — выполнить запрос синхронно и вернуть ответ после завершения синхронизации;true— выполнить запрос асинхронно и вернуть ответ сразу после обработки запроса, не дожидаясь завершения синхронизации.
Примеры cURL-запросов
Запуск синхронизации в синхронном режиме:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/matview_db/entities/sync' \
-H 'x-request-id: 695c7000-33a9-40ed-922f-fdffc710a2f0' \
-d '{}'
Запуск синхронизации в синхронном режиме без указания тела запроса:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/matview_db/entities/sync' \
-H 'x-request-id: eb72abf1-812b-4869-9f90-4cd7c70a553b'
Запуск синхронизации в асинхронном режиме:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/matview_db/entities/sync' \
-H 'x-request-id: d73bf6d5-00de-409f-894e-04e18902cc12' \
-d '{
"async": true
}'