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

Содержание раздела
  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"
}