Skip to content
Rafael Alves edited this page Oct 8, 2020 · 4 revisions

O Cygnus é um conector encarregado de persistir certas fontes de dados em certos armazenamentos de terceiros (MySQL, PosgreSQL, Kafka, CKAN, Carto etc), criando uma visão histórica de tais dados. As configurações deste componente são feitas no arquivo docker-compose localizado na pasta /platform. Não é necessário fazer nenhuma alteração no documento para que essa simulação funcione mas caso seja necessário adicionar outros banco de dados ao Cygnus utilize o manual de referência disponibilizado pelo FIWARE.

Nesta simulação utiliza-se apenas o banco MySQL para fazer a persistência dos dados contudo é possível fazer o Cygnus persistir os dados em mais de um banco ao mesmo tempo utilizando a variável CYGNUS_MULTIAGENT.

É necessário que o Cygnus esteja subscrito em uma entidade do Orion para que o Cygnus seja capaz de armazenar os dados no banco MySQL. A subscrição é feita criando uma notificação no Orion como indicada no código JSON abaixo e que deve ser enviado através de um client REST ou código usando uma requisição HTTP do tipo POST. O Código disponível no container data-model faz a subscrição com o código apresentado abaixo.

{
    "description": "Notify Cygnus of all context changes",
    "subject": {
        "entities": [
            {
                "idPattern": ".*"
            }
        ]
    },
    "notification": {
        "http": {
            "url": "http://cygnus:5050/notify"
        }
    },
    "throttling": 1
}

Isso significa que todas as entidades do Orion estão sobrescritas pelo Cygnus, ou seja, o Cygnus é capaz de monitorar todas as entidades do Orion e se alguma delas sofrer alguma alteração em um de seus parâmetros o Cygnus ira fazer a persistência dos dados da entidade toda no banco MySQL.