Topics de Notificación en Kafka para ontologías
Esta funcionalidad está disponible a partir de la versión 2.1.0-gradius.
Introducción
Onesait Platform ya ha integrado Kafka como forma de insertar datos en nuestras ontologías pero, ¿qué pasa si queremos ser notificados vía Kafka cada vez que se insertan nuevos datos en las ontologías?
Pues bien, en este Q2 estamos introduciendo los temas de notificación de Kafka para ontologías que permiten estar al tanto de cada inserción a través de un tema de Kafka.
Cómo utilizarlo
Esta nueva funcionalidad estará disponible por temas. Se puede activar creando/editando una ontología y yendo a la sección“Advanced settings“, y luego chequear “ALLOWS CREATE NOTIFICATION KAFKA TOPIC?“ property.
TEsto creará un tema con la siguiente convención de nombres: ONTOLOGY_OUTPUT_<ontology_name>
Una vez creada/actualizada la ontología, cada inserción enviada a ella (desde cualquier fuente como API, CRUD, clientes digitales,...), escribirá los datos en el tema de notificación.
Ejemplo
A continuación se muestra un ejemplo de cómo activar un tópico de notificación kafka y cómo recuperar los datos de la notificación desde él.
Activar el tema de notificación kafka para la ontología “KafkaNotifOnt“
Seleccione una ontología para editar
Chequear “ALLOWS CREATE NOTIFICATION KAFKA TOPIC?“ y guardar los cambiosCrear/actualizar un cliente digital y permitirle leer desde la ontología “KafkaNotifOnt“. Esto concederá permisos ACL al tema para ese cliente:
Seleccione el cliente digital que desea actualizar:
Añadir accesos “KafkaNotifOnt” “READ” o “ALL” y guardar cambios:Recuerda el token ya que lo usaremos en el siguiente paso.
Cree un consumidor kafka en el tema de notificación. En este ejemplo utilizaremos un consumidor de consola con autenticación SLAS:
Primero crearemos un archivo de configuración jaas usando el nombre del cliente digital como usuario y su token como contraseña y lo guardaremos en un archivoecho ' KafkaClient{ org.apache.kafka.common.security.plain.PlainLoginModule required username="KafkaClient" password="2abb5497223344969bb45077a071b8b7"; }; '>/etc/kafka/kafka_client_jass.conf
Luego exportaremos la variable KAFKA_OPTS con su ubicaciónexport KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/kafka_client_jass.conf"
Después de esto, necesitamos crear un archivo de propiedades del consumidor para habilitar SASL como método de autenticación y guardarlo en un archivoecho ' security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN '>consumer.properties
Por último, podemos poner en marcha nuestro consumidor y dejarlo en funcionamientoInsertar datos en la ontología
En este ejemplo utilizaremos el CRUDA continuación, inserte algunos datos
Comprueba el consumidor: