Получение информации об асинхронных операциях
Содержание раздела
Доступны GET-методы со следующими возможностями:
- получение подробной информации по асинхронной операции;
- получение краткой информации по всем асинхронным операциям логической БД или окружения.
URL
{baseUrl}/api/v1/datamarts[/{datamart}]/query/{requestId}
— позволяет получить информацию по асинхронной операции, исполняющей запрос с идентификаторомrequestId
;{baseUrl}/api/v1/datamarts[/{datamart}]/queries
— позволяет получить информацию по асинхронным операциям следующих логических баз данных:- указанной логической БД — если URL содержит имя логической БД
datamart
; - всех логических БД окружения — если URL не содержит имя логической БД.
- указанной логической БД — если URL содержит имя логической БД
Параметры:
baseUrl
— адрес ноды Prostore, состоящий из IP-адреса или доменного имени и номера порта;datamart
(опциональный) — имя логической базы данных, по которой запрашивается информация об асинхронных операциях;requestId
— уникальный идентификатор асинхронного запроса, полученный в ответе query.
Заголовки запроса
Заголовок x-request-id
Опциональный заголовок задает уникальный идентификатор HTTP-запроса. Если не указан, система генерирует UUID-значение и возвращает его в качестве идентификатора в ответе.
Заголовок Authorization
Опциональный заголовок задает тип аутентификации и авторизационный токен (JWT). Возможное значение заголовка — Bearer
.
Подробнее об аутентификации запросов см. в разделе Аутентификация.
Тело запроса
Тело запроса отсутствует.
Примеры запросов и ответов
Запрос по указанной операции
Запрос без авторизационного токена:
curl -X 'GET' \
'http://localhost:9090/api/v1/datamarts/marketing/query/234567' \
-H 'x-request-id: e3793ee4-8e63-4d83-9fba-0af49f9c251f'
Запрос с авторизационным токеном:
curl -X 'GET' \
'http://localhost:9090/api/v1/datamarts/marketing/query/234567' \
-H 'x-request-id: 65443cdd-7cd1-430e-9dd6-a87444b279c7' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
Ответ по выполняемой операции:
{
"status": "running",
"statusCode": 0,
"datamart": "marketing",
"table": "sales",
"topic": "sales_in",
"query": "INSERT INTO marketing.sales SELECT * FROM marketing.sales_ext_upload",
"startTime": "2023-09-04 16:06:28",
"errorTime": null,
"errorCause": null
}
Ответ по неуспешной операции:
{
"status": "error",
"statusCode": 2,
"datamart": "marketing",
"table": "sales",
"topic": null,
"query": "INSERT INTO marketing.sales SELECT * FROM marketing.sales_ext_upload",
"startTime": "2023-09-04 16:13:45",
"errorTime": "2023-09-04 16:13:46",
"errorCause": "Table[all_types] blocked: KeeperErrorCode = NodeExists"
}
Ответ по успешно обработанной или несуществующей операции:
{
"exceptionMessage": "Request [e3793ee4-8e63-4d83-9fba-0af49f9c251f] not found"
}
Запрос по всем операциям логической БД
Запрос без авторизационного токена:
curl -X 'GET' \
'http://localhost:9090/api/v1/datamarts/marketing/queries' \
-H 'x-request-id: 00aba5b2-880e-4e7e-8cb5-4cd8dbf5efda'
Запрос с авторизационным токеном:
curl -X 'GET' \
'http://localhost:9090/api/v1/datamarts/marketing/queries' \
-H 'x-request-id: 80e16861-b420-4142-8f68-f89b7774b0f1' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
Ответ:
[
{
"id": "2f8b7a67-a17e-4f71-a0f0-22249c005d5c",
"datamart": "marketing",
"table": "stores",
"status": "running",
"statusCode": 0,
"startTime": "2023-09-04 16:06:28"
},
{
"id": "c0a8b9e8-34d0-4e2b-b35c-c7e6c812de45",
"datamart": "marketing",
"table": "clients",
"status": "error",
"statusCode": 2,
"startTime": "2023-09-04 16:13:45"
}
]
Запрос по всем операциям окружения
Запрос без авторизационного токена:
curl -X 'GET' \
'http://localhost:9090/api/v1/datamarts/queries' \
-H 'x-request-id: b547955b-ce69-4d38-a89d-8ba16685961d'
Запрос с авторизационным токеном:
curl -X 'GET' \
'http://localhost:9090/api/v1/datamarts/queries' \
-H 'x-request-id: 1476a7bd-1504-4adc-81ae-d5b77e21181f' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
Ответ:
[
{
"id": "2f8b7a67-a17e-4f71-a0f0-22249c005d5c",
"datamart": "marketing",
"table": "stores",
"status": "running",
"statusCode": 0,
"startTime": "2023-09-04 16:06:28"
},
{
"id": "c0a8b9e8-34d0-4e2b-b35c-c7e6c812de45",
"datamart": "marketing_new",
"table": "sales",
"status": "error",
"statusCode": 2,
"startTime": "2023-09-04 16:13:45"
}
]