Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
Info

This functionality is available from version Esta funcionalidad está disponible a partir de la versión 2.1.0-gradius onwards.

...

Introducción

Onesait Platform has already integrated Kafka as a way to insert data into our ontologies but, what if we want to be notified via Kafka every time new data gets inserted into ontologies?

Well, in this Q2 we are introducing the kafka notification topics for ontologies which allows you to be aware of each insert throughout a kafka topic.

How to use it

This new functionality will be available by topic. It can be activated by creating/editing an ontology and going to the “Advanced settings“ tab, then checking the 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.

...

This will create a topic with the following naming conventionTEsto creará un tema con la siguiente convención de nombres: ONTOLOGY_OUTPUT_<ontology_name>

Once the ontology is created/updated, every insertion sent to it(from any source as Una vez creada/actualizada la ontología, cada inserción enviada a ella (desde cualquier fuente como API, CRUD, Digital clients,…), will write the data to the notification topic.

Here is an example of how to activate a kafka notification topic and how to retrieve the notificacion data from it.

...

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.

  1. Activar el tema de notificación kafka para la ontología “KafkaNotifOnt“

    Seleccione una ontología para editar

    Image Added


    Chequear “ALLOWS CREATE NOTIFICATION KAFKA TOPIC?“ and save changesy guardar los cambios

    Create/update a digital client and allow it to read from the ontlogy “KafkaNotifOnt“. This will grant ACL permissions to the topic for that client:
    Select the digital client to update:

    Image RemovedAdd “KafkaNotifOnt” with “READ” or “ALL” access level and save changes.
  2. Image Removed

    Remember the token as we will be using it in the follwong step.

    Create a kafka consumer on the notification topic. In this example we will use a console consumer with SLAS authentication:
    First we will create a jaas config file using the name of the digital client as user and it’s token as password and save it to a fileCrear/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:

    Image Added


    Añadir accesos “KafkaNotifOnt” “READ” o “ALL” y guardar cambios:

    Image Added

    Recuerda el token ya que lo usaremos en el siguiente paso.

  3. 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 archivo

    Code Block
    echo '
    KafkaClient{
       org.apache.kafka.common.security.plain.PlainLoginModule required
       username="KafkaClient"
       password="2abb5497223344969bb45077a071b8b7";
    };
    '>/etc/kafka/kafka_client_jass.conf


    Then we will export the Luego exportaremos la variable KAFKA_OPTS variable with it’s locationcon su ubicación

    Code Block
    export KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/kafka_client_jass.conf"


    After that, we need to create a consumer properties file to enable SASL as authentication method and save it to a fileDespués de esto, necesitamos crear un archivo de propiedades del consumidor para habilitar SASL como método de autenticación y guardarlo en un archivo

    Code Block
    echo '
    security.protocol=SASL_PLAINTEXT
    sasl.mechanism=PLAIN
    '>consumer.properties
    Finally we can start our consumer and leave it running
    Image Removed

    Insert data into the ontology
    In this example we will use the CRUD


    Image Removed

    Then insert some data

    Image Removed

    Check the consumerPor último, podemos poner en marcha nuestro consumidor y dejarlo en funcionamiento

    Image Added

  4. Insertar datos en la ontología

    En este ejemplo utilizaremos el CRUD

    Image Added

    A continuación, inserte algunos datos

    Image Added

  5. Comprueba el consumidor: