Saltar al contenido

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

NombreUbicaciónTipoObligatorioReglas
afterconsultastringnocoincide 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
limitconsultaintegerno1–500
typesconsultastringnohasta 2048 caracteres; Comma-separated names or prefixes such as artifact.*
repositoryconsultastringnocoincide con ^[a-z0-9][a-z0-9_-]{0,63}$

Respuesta 200

CampoTipoObligatorioReglas
epochstring (uuid)sí—
itemsarray de objectsíhasta 500 elementos
items[].specversionstringsíuno de 1.0
items[].idstringsí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[].sourcestringsí—
items[].typestringsí—
items[].subjectstringsíId del artefacto, o la ruta en los eventos de archivos
items[].timestring (date-time)sí—
items[].datacontenttypestringsíuno de application/json
items[].dataschemastringsí—
items[].partitionkeystringsírepository:<repository>; los eventos de una partición conservan su orden de confirmación
items[].arkvorypositionstringsíun número entero en dígitos decimales, enviado como cadena
items[].arkvoryepochstring (uuid)sí—
items[].dataobjectsíDatos del tipo; su JSON Schema está en la lista de tipos
nextstringsí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})$
headstringsíun número entero en dígitos decimales, enviado como cadena
oldeststringsíun número entero en dígitos decimales, enviado como cadena

Respuestas: 200, 400, 401, 403, 404, 409, 410, 422, 503, 507

Ejemplo

bash
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

CampoTipoObligatorioReglas
itemsarray de objectsí—
items[].namestringsí—
items[].schemaVersionintegersícomo mínimo 1
items[].scopestringsíuno de repository, system
items[].permissionstringsíuno de artifact.list, administrator
items[].partitionstringsí—
items[].descriptionstringsí—
items[].dataSchemaobjectno—

Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507

Ejemplo

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

Arkvory · ProAnimaStudio