Pular para o conteúdo

Eventos ​

O fluxo de eventos da instalação após um cursor e a lista de tipos de eventos.

Operações deste grupo com a regra de acesso, a regra de repetição, os parâmetros e as respostas. Toda solicitação leva uma chave: Authorization: Bearer <chave> (consulte “Autenticação”).

Operações ​

Ler os eventos da instalação ​

GET HEAD /api/v1/events

Acesso: Qualquer chave ou sessão válida · Repetição: Pode ser repetida com segurança (leitura)

Retorna, do mais antigo para o mais recente, até limit eventos (1–500, padrão 100) após o cursor after, como CloudEvents 1.0: publicações, exclusões, revisões de arquivos, registros de pacotes, anotações, anexos, estágios, promoções e alterações de imagens, npm e Git LFS de cada repositório que o chamador pode listar (artifact.list). Sem after, o fluxo começa no evento guardado mais antigo. Para continuar, passe next como after: ele também avança além dos eventos que o chamador não pode ver, no máximo 5000 por solicitação. types mantém os tipos indicados ou prefixos como artifact.*; repository, um repositório. Um cursor anterior a oldest recebe 410 events_cursor_expired; um cursor de outra epoch (o servidor foi restaurado de um backup), 409 events_epoch_changed; ambos trazem epoch, oldest e head atuais em events. Deduplique por id; um evento é uma dica: leia o estado atual pelas rotas habituais.

Parâmetros

NomeLocalTipoObrigatórioRegras
afterconsultastringnãocorresponde a ^[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
limitconsultaintegernão1–500
typesconsultastringnãoaté 2048 caracteres; Comma-separated names or prefixes such as artifact.*
repositoryconsultastringnãocorresponde a ^[a-z0-9][a-z0-9_-]{0,63}$

Resposta 200

CampoTipoObrigatórioRegras
epochstring (uuid)sim—
itemsarray de objectsimaté 500 itens
items[].specversionstringsimum destes: 1.0
items[].idstringsimcorresponde a ^[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 do evento, <epoch>:<position>; deduplique por ele
items[].sourcestringsim—
items[].typestringsim—
items[].subjectstringsimId do artefato, ou o caminho em eventos de arquivo
items[].timestring (date-time)sim—
items[].datacontenttypestringsimum destes: application/json
items[].dataschemastringsim—
items[].partitionkeystringsimrepository:<repository>; os eventos de uma partição mantêm a ordem de confirmação
items[].arkvorypositionstringsimum número inteiro em dígitos decimais, enviado como string
items[].arkvoryepochstring (uuid)sim—
items[].dataobjectsimDados do tipo; seu JSON Schema está na lista de tipos
nextstringsimcorresponde a ^[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})$
headstringsimum número inteiro em dígitos decimais, enviado como string
oldeststringsimum número inteiro em dígitos decimais, enviado como string

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

Exemplo

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

Listar os tipos de eventos ​

GET HEAD /api/v1/events/types

Acesso: Qualquer chave ou sessão válida · Repetição: Pode ser repetida com segurança (leitura)

Retorna cada tipo de evento que este servidor grava: nome, schemaVersion, escopo, a permissão de que um leitor precisa, a partição que mantém sua ordem e o JSON Schema de data. O type do CloudEvents é arkvory.<name>.v<schemaVersion>.

Resposta 200

CampoTipoObrigatórioRegras
itemsarray de objectsim—
items[].namestringsim—
items[].schemaVersionintegersimpelo menos 1
items[].scopestringsimum destes: repository, system
items[].permissionstringsimum destes: artifact.list, administrator
items[].partitionstringsim—
items[].descriptionstringsim—
items[].dataSchemaobjectnão—

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

Exemplo

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

Arkvory · ProAnimaStudio