Получение номера операции

Содержание раздела
  1. Получение номера операции
    1. URL
    2. Заголовки запроса
      1. Заголовок x-request-id
    3. Тело запроса
    4. Примеры запросов и ответов
      1. Запрос по указанной метке времени в логической таблице
      2. Запрос последней операции в логической таблице
      3. Запрос последней операции в логической БД
      4. Запрос с неуспешным ответом

Доступно получение номера операции записи:

  • указанной успешной в таблице или представлении;
  • последней успешной в таблице или представлении;
  • последней* завершенной (успешно или нет) в логической БД.

* Для логической БД возвращается максимальный номер завершенной операции, перед которой нет незавершенных операций с меньшим номером. При наличии открытой дельты максимальный номер выбирается среди операций, выполненных до дельты.

Получение номеров операций доступно для сущностей логической БД:

URL

GET {baseUrl}/api/v1/datamarts/{datamart}/entities/{entity}/cn/{ts}

Получение номера для успешно завершенной операции, имеющей метку времени ts, в таблице или представлении datamart.entity.

GET {baseUrl}/api/v1/datamarts/{datamart}/entities/{entity}/cn

Получение номера для последней успешно завершенной операции в таблице или представлении datamart.entity.

GET {baseUrl}/api/v1/datamarts/{datamart}/cn

Получение номера для последней завершенной (успешно или нет) операции в логической БД datamart.

Где:

  • baseUrl — адрес ноды Prostore, состоящий из IP-адреса или доменного имени и номера порта;
  • datamart — имя логической базы данных, в которой была выполнена операция записи;
  • entity — имя таблицы или представления, для которого запрашивается информация об операции. Можно указать логическую таблицу любого типа, материализованное представление или простое логическое представление, построенное на подзапросе к логической таблице или материализованному представлению;
  • ts — метка времени операции в UTC- или Unix-формате.

Заголовки запроса

Заголовок x-request-id

Опциональный заголовок задает уникальный идентификатор HTTP-запроса. Если не указан, система генерирует UUID-значение и возвращает его в качестве идентификатора в ответе.

Тело запроса

Тело запроса отсутствует.

Примеры запросов и ответов

Запрос по указанной метке времени в логической таблице

Запрос по UTC-метке времени 2024-12-13 06:51:25.055:

curl -X 'GET' \
  'http://localhost:9090/api/v1/datamarts/marketing/entities/sales/cn/2024-12-13%2006%3A51%3A25.055' \
  -H 'x-request-id: c214035f-cac5-4a77-a988-4750c3ad3c27' 

Запрос по Unix-метке времени 1734072685055000, соответствующей 2024-12-13 06:51:25.055:

curl -X 'GET' \
  'http://localhost:9090/api/v1/datamarts/marketing/entities/sales/cn/1734072685055000' \
  -H 'x-request-id: 6accb5a2-33b8-4fb8-be74-5be45189b6a5' 

Ответ:

{
  "cn": 52
}

Запрос последней операции в логической таблице

Запрос:

curl -X 'GET' \
  'http://localhost:9090/api/v1/datamarts/marketing/entities/sales/cn' \
  -H 'x-request-id: 296af6fc-9a4a-44cc-b664-bc5ae0a884a8' 

Ответ:

{
  "cn": 52
}

Запрос последней операции в логической БД

Запрос:

curl -X 'GET' \
  'http://localhost:9090/api/v1/datamarts/marketing/cn' \
  -H 'x-request-id: cbdee094-6d25-4129-af3e-475ffaaac786'

Ответ:

{
  "cn": 58
}

Запрос с неуспешным ответом

Запрос:

curl -X 'GET' \
  'http://localhost:9090/api/v1/datamarts/marketing4/cn' \
  -H 'x-request-id: 13ebe560-9ba2-4748-a852-17d8af69fd2f' 

Ответ:

{
  "exceptionMessage": "Database marketing4 does not exist"
}