Перейти к содержимому

События ​

Лента событий установки после курсора и список типов событий.

Операции этой группы с правилом доступа, правилом повтора, параметрами и ответами. Каждый запрос несёт ключ: Authorization: Bearer <ключ> (см. «Аутентификация»).

Операции ​

Прочитать события установки ​

GET HEAD /api/v1/events

Доступ: Любой действующий ключ или сессия · Повтор: Можно повторять (чтение)

Возвращает от старых к новым до limit событий (1–500, по умолчанию 100) после курсора after в формате CloudEvents 1.0: публикации, удаления, ревизии файлов, регистрации пакетов, аннотации, вложения, стадии, продвижения, изменения образов, npm и Git LFS во всех репозиториях, список которых вызывающему доступен (artifact.list). Без after лента начинается с самого старого хранимого события. Чтобы продолжить, передайте next как after: он продвигается и за события, которые вызывающему не видны, не больше 5000 за запрос. types оставляет названные типы или префиксы вроде artifact.*, repository — один репозиторий. Курсор старше oldest получает 410 events_cursor_expired; курсор другой эпохи epoch (сервер восстановлен из резервной копии) — 409 events_epoch_changed; оба ответа несут текущие epoch, oldest и head в events. Дедуплицируйте по id; событие — подсказка, текущее состояние читайте обычными маршрутами.

Параметры

ИмяГдеТипОбязателенПравила
afterзапросstringнетпо шаблону ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$; Event id or next of a page; without it the feed starts at oldest
limitзапросintegerнет1–500
typesзапросstringнетне длиннее 2048 символов; Comma-separated names or prefixes such as artifact.*
repositoryзапросstringнетпо шаблону ^[a-z0-9][a-z0-9_-]{0,63}$

Ответ 200

ПолеТипОбязателенПравила
epochstring (uuid)да—
itemsмассив objectдане больше 500 элементов
items[].specversionstringдаодно из 1.0
items[].idstringдапо шаблону ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$; Идентификатор события, <epoch>:<position>; дедуплицируйте по нему
items[].sourcestringда—
items[].typestringда—
items[].subjectstringдаID артефакта или путь файла для событий файлов
items[].timestring (date-time)да—
items[].datacontenttypestringдаодно из application/json
items[].dataschemastringда—
items[].partitionkeystringдаrepository:<repository>; события одного раздела сохраняют порядок фиксации
items[].arkvorypositionstringдацелое число десятичными цифрами, передаётся строкой
items[].arkvoryepochstring (uuid)да—
items[].dataobjectдаДанные типа; их JSON Schema — в списке типов
nextstringдапо шаблону ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$
headstringдацелое число десятичными цифрами, передаётся строкой
oldeststringдацелое число десятичными цифрами, передаётся строкой

Ответы: 200, 400, 401, 403, 404, 409, 410, 422, 503, 507

Пример

bash
curl -X GET "$ARKVORY_URL/api/v1/events" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Перечислить типы событий ​

GET HEAD /api/v1/events/types

Доступ: Любой действующий ключ или сессия · Повтор: Можно повторять (чтение)

Возвращает все типы событий, которые пишет этот сервер: имя, schemaVersion, область, право, нужное читателю, раздел, сохраняющий порядок, и JSON Schema поля data. type в CloudEvents — arkvory.<name>.v<schemaVersion>.

Ответ 200

ПолеТипОбязателенПравила
itemsмассив objectда—
items[].namestringда—
items[].schemaVersionintegerдане меньше 1
items[].scopestringдаодно из repository, system
items[].permissionstringдаодно из artifact.list, administrator
items[].partitionstringда—
items[].descriptionstringда—
items[].dataSchemaobjectнет—

Ответы: 200, 400, 401, 403, 404, 409, 422, 503, 507

Пример

bash
curl -X GET "$ARKVORY_URL/api/v1/events/types" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Arkvory · ProAnimaStudio