Skip to content

EventBridge

Numera tiene un único bus de eventos BusNumera.

En EventBridge, AWS tiene esta estructura fija para un evento:

{
  "version": "0",
  "id": "UUID",
  "detail-type": "event name",
  "source": "event source",
  "account": "ARN",
  "time": "timestamp",
  "region": "region",
  "resources": [
    "ARN"
  ],
  "detail": {
    Your JSON Event object
  }
}

En los valores que podemos controlar:

{
  "version": "0",
  "id": "UUID",
  "detail-type": "DOCUMENTS", // Forma principal para enrutar mensajes, formato recomendado: CONTEXT-nombre_extra_opcional
  "source": "event source",
  "account": "ARN",
  "time": "timestamp",
  "region": "region",
  "resources": [
    "ARN"
  ],
  "detail": {
    "version": "1.0.0", // Versión de esta estructura personalizada porque podríamos querer cambiarla en el futuro
    "sent_at": "2024-04-07T00:00:00.000Z", // Sirve para estrategias de resiliencia en reencolamientos
    "type": "document", // Entidad u objeto de negocio afectado
    "event": "created", // Acción o evento a notificar (normalmente en particípio pasado)
    "source": "numera-app", // Nombre del módulo o sistema
    "data": {
      // Datos adicionales, únicamente si son necesarios, entre más pequeño el mensaje mejor
    }
  }
}

En las reglas de enrutado, los nombres deben tener este formato:

{context}-{nombre_personalizado_opcional}-rule

Ejemplo: documents-typesense-rule