Eventos
El flujo de eventos de la instalación después de un cursor y la lista de tipos de eventos.
Operaciones de este grupo con su regla de acceso, su regla de reintento, sus parámetros y sus respuestas. Cada solicitud lleva una clave: Authorization: Bearer <clave> (consulte «Autenticación»).
Operaciones
Leer los eventos de la instalación
GET HEAD /api/v1/events
Acceso: Cualquier clave o sesión válida · Reintento: Se puede repetir (lectura)
Devuelve, del más antiguo al más reciente, hasta limit eventos (1–500, 100 por defecto) posteriores al cursor after, como CloudEvents 1.0: publicaciones, eliminaciones, revisiones de archivos, registros de paquetes, anotaciones, adjuntos, etapas, promociones y cambios de imágenes, npm y Git LFS de cada repositorio que el llamante puede listar (artifact.list). Sin after, el flujo empieza en el evento conservado más antiguo. Para continuar, pase next como after: también avanza más allá de los eventos que el llamante no puede ver, como máximo 5000 por solicitud. types conserva los tipos nombrados o prefijos como artifact.*; repository, un repositorio. Un cursor anterior a oldest recibe 410 events_cursor_expired; un cursor de otra epoch (el servidor se restauró desde una copia de seguridad), 409 events_epoch_changed; ambos incluyen los epoch, oldest y head actuales en events. Deduplique por id; un evento es una pista: lea el estado actual con las rutas habituales.
Parámetros
| Nombre | Ubicación | Tipo | Obligatorio | Reglas |
|---|---|---|---|---|
after | consulta | string | no | coincide con ^[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 | consulta | integer | no | 1–500 |
types | consulta | string | no | hasta 2048 caracteres; Comma-separated names or prefixes such as artifact.* |
repository | consulta | string | no | coincide con ^[a-z0-9][a-z0-9_-]{0,63}$ |
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
epoch | string (uuid) | sí | — |
items | array de object | sí | hasta 500 elementos |
items[].specversion | string | sí | uno de 1.0 |
items[].id | string | sí | coincide con ^[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})$; Id del evento, <epoch>:<position>; deduplique por él |
items[].source | string | sí | — |
items[].type | string | sí | — |
items[].subject | string | sí | Id del artefacto, o la ruta en los eventos de archivos |
items[].time | string (date-time) | sí | — |
items[].datacontenttype | string | sí | uno de application/json |
items[].dataschema | string | sí | — |
items[].partitionkey | string | sí | repository:<repository>; los eventos de una partición conservan su orden de confirmación |
items[].arkvoryposition | string | sí | un número entero en dígitos decimales, enviado como cadena |
items[].arkvoryepoch | string (uuid) | sí | — |
items[].data | object | sí | Datos del tipo; su JSON Schema está en la lista de tipos |
next | string | sí | coincide con ^[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})$ |
head | string | sí | un número entero en dígitos decimales, enviado como cadena |
oldest | string | sí | un número entero en dígitos decimales, enviado como cadena |
Respuestas: 200, 400, 401, 403, 404, 409, 410, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/events" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Listar los tipos de eventos
GET HEAD /api/v1/events/types
Acceso: Cualquier clave o sesión válida · Reintento: Se puede repetir (lectura)
Devuelve cada tipo de evento que escribe este servidor: nombre, schemaVersion, ámbito, el permiso que necesita un lector, la partición que conserva su orden y el JSON Schema de data. El type de CloudEvents es arkvory.<name>.v<schemaVersion>.
Respuesta 200
| Campo | Tipo | Obligatorio | Reglas |
|---|---|---|---|
items | array de object | sí | — |
items[].name | string | sí | — |
items[].schemaVersion | integer | sí | como mínimo 1 |
items[].scope | string | sí | uno de repository, system |
items[].permission | string | sí | uno de artifact.list, administrator |
items[].partition | string | sí | — |
items[].description | string | sí | — |
items[].dataSchema | object | no | — |
Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Ejemplo
curl -X GET "$ARKVORY_URL/api/v1/events/types" \
-H "Authorization: Bearer $ARKVORY_TOKEN"